![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmRm0L%2FbtsASeCorCf%2FxmFMZ1mmSewu1G2gOXyzvK%2Fimg.png)
1. 💎 문제 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 익은 토마토는 1일이 지나면 위, 아래, 왼쪽, 오른쪽, 앞, 뒤 여섯 방향에 있는 토마토를 익힌다. 토마토가 모두 익을 때까지 최소 며칠이 걸리는지 출력한다. 모두가 익지 못하는 상황이면 -1을 출력하고 처음부터 모든 토마토가 익어있으면 0을 출력한다. 2. 🤔 어떻게 풀까 저번에 2차원 상자에 있는 유사한 토마토 문제를 풀어봐서 바로 BFS로 풀면되겠구나 하고 풀었다. 추가된 것은 바로 좌표가 3차원이 된 것! 그래서 3..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdTn9ur%2FbtsAMkXn9S9%2FJY22e4mWGOV7GDTRz1LKG0%2Fimg.png)
1. 💎 문제 6064번: 카잉 달력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다. www.acmicpc.net 2. 🤔 어떻게 풀까 문제를 잘 읽어보면 달력에 표현되는 수는 x는 M으로 나눈 나머지, y는 N으로 나눈 나머지 값이다. 그러므로 입력으로 주어진 x,y가 몇 번째 해를 아는지 알기 위해서는 결국 아래 두 조건을 만족시키는 최소 공배수가 필요하다. M으로 나누었을 때 나머지가 x이다. N으로 나누었을 때 나머지가 y이다. 최소 공배수를 구하기 위해, x,y를 시작으로 각 M, N을 더해가면서 기존에 나왔던 수인지 비교한다. 비교하기 위해 `HashS..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQ9qZX%2FbtsAJ9g8NLb%2FTmlagEDOLeGkIG2rnw2ZC1%2Fimg.png)
1. 문제 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] www.acmicpc.net 배열을 R번 회전 후 결과를 출력한다. 안쪽에서 회전이 안일어나는 경우는 가로나 세로의 크기 2보다 작을 때이다. 2. 풀이 생각 처음 봤을 때는 저번에 풀었던 달팽이 게임(참고: https://uzinlab.tistory.com/52 ) 문제랑 비슷해서, 전체적인 틀은 네 방향을 나눠서 각각 구현하기로 생각하였고, 구현 문제답게 코드를 짜기전에 열심히 구상을..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRRZ4B%2FbtsAFtUQgDv%2FLAGmjlyxnQ53Kc0bfWbw5K%2Fimg.png)
1. 문제 20529번: 가장 가까운 세 사람의 심리적 거리 각 테스트 케이스에 대한 답을 정수 형태로 한 줄에 하나씩 출력한다. www.acmicpc.net 세 명의 심리적 거리를 구하고 가장 최솟값을 찾는다. 세명의 심리직 거리 = (A와 B의 심리적 거리) + (B와 C의 심리적 거리) + (C와 A의 심리적 거리) MBTI는 겹칠 수도 있으며, 같은 MBTI간의 심리적 거리는 0이다. 2. 풀이 생각 문제는 가장 최소가 될 수 있는 세명을 어떻게 찾느냐이냐. 세명을 찾기 위해 완전 탐색을 하게 되면 십만X십만X십만으로 10의 15승이 되고, 시간초과가 난다. 그러므로 완전 탐색은 방법이 아니다. 방법은 mbti의 종류가 16개인 것을 이용하는 것이다. 사람의 수가 아무리 많아도 MBTI는 16종류..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fes3ik0%2FbtsAFttB64S%2F04G7xBgMTLzBvkFvK52BYk%2Fimg.png)
1. 💎 문제 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 한 계단, 두 계단 씩만 이동 가능 연속한 3개의 계단 불가 마지막 계단 반드시 밟음 얻을 수 있는 총 점수의 최댓값 구하기 2. 🤔 풀이 생각 이 문제의 핵심은 2계단을 가면 무조건 이동해야 한다는 것이다. 3 계단을 가지 전에 끊어줘야 하므로, 현재 계단에서 선택할 수 있는 경우의 수는 2가지뿐이다. 1. 직전의 계단(n-1)을 밟고 현재 계단을(n)을 밟는다. 2.두 번째 전 계단(n-2)을 밟고 현재 계단(n)을 밟는다. 여기서 1번은 세 계단을 이어서..