본문 바로가기

백준88

[백준 16926] 배열 돌리기 1, C++ https://www.acmicpc.net/problem/16926 16926번: 배열 돌리기 1 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] ↓ ↓ ↑ ↑ A[3][1] A[3][2] → A[3][3] → A[3][4] A[3][5] ↓ ↑ A[4][1] → A[4][2] → A[4][3] → A[4][4] → A[4 www.acmicpc.net 본 문제는 시뮬레이션 문제다. 문제의 설명은 링크를 참고하길 바란다. 배열의 크기는 300x300 이고 회전은 1000번까지 .. 2020. 3. 12.
[백준 16234] 인구 이동, C++ https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모든 나라는 1×1 크기이기 때문에, 모든 국경선은 정사각형 형태이다. 오늘부터 인구 이동이 시작되는 날이다. 인구 이동은 다음과 같이 진행되고, 더 이상 아래 방법에 의해 인구 이동이 없을 때까지 지속된다. 국경선을 공유하는 두 나라의 인구 차이가 L명 www.acmicpc.net 본 문제는 삼성 SW 역량 테스트 기출 문제로 시뮬레이션 문제다. 인구 이동은 다음과 같이 진행되고, 더 이상 아래 방법에 의해 인구.. 2020. 3. 10.
[백준 1525] 퍼즐, C++ https://www.acmicpc.net/problem/1525 1525번: 퍼즐 세 줄에 걸쳐서 표에 채워져 있는 아홉 개의 수가 주어진다. 한 줄에 세 개의 수가 주어지며, 빈 칸은 0으로 나타낸다. www.acmicpc.net 본 문제는 지금까지 풀었던 BFS와 저장과 확인 방식의 차이가 있어 글을 쓰게 되었다. 그 동안 BFS는 2차원 배열로 정보를 저장하여 최단 거리를 구했는데 이 문제는 string과 set을 이용하여 최단 거리를 구하였다. 실제 코딩 테스트나 시험에 나왔으면 많이 당황할 문제라고 생각한다. 설명은 주석 처리를 하였다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484.. 2020. 3. 9.
[백준 11051] 이항 계수 2, C++ https://www.acmicpc.net/problem/11051 11051번: 이항 계수 2 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 본 문제는 이항 계수의 성질을 이용하여 푸는 문제다. 이항 계수는 (n, k) = (n-1, k) + (n-1, k-1)의 식이 성립하고, (n, 0) = 1, (i, i) = 1 (단, 1 2020. 3. 8.
[백준 12358] 시험 감독, C++ https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 본 문제는 삼성 SW 역량 테스트 기출 문제다. /* 개인적인 생각으로 역대 시험 문제중 제일 쉽다고 생각한다. 왜냐하면 기존 삼성 문제는 접근도 쉽지 않았고, 구현도 힘들다. 그런데 이번 문제는 접근도 쉽고, 구현도 간단하다. 프로그래머스 level 2 수준 정도 되는거 같다. */ 문제의 조건은 다음과 같다. 각각의 시험장에 총감독관은 .. 2020. 3. 3.
[백준 1038] 감소하는 수, C++ https://www.acmicpc.net/problem/1038 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 출력하는 프로그램을 작성하시오. 0은 0번째 감소하는 수이고, 1은 1번째 감소하는 수이다. 만약 N번째 감소하는 수가 없다면 -1을 출력한다. www.acmicpc.net 본 문제는 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소하면 X를 감소하는 수라고 한다. 예) 321, 950 입력의 크기가 1,000,000 보자 작거나 같을 때, N번째 감소하는 수를 출력하시오, 단, 0은 0번째 감소하는.. 2020. 3. 2.