3025번: 돌 던지기 (acmicpc.net)초기 아이디어 단순 구현 → 시간초과시간을 줄이기 위한 아이디어DPDP 아이디어첫번째 행에 대해 특정 열에서 떨어뜨린 돌이 도착한 곳의 직전 위치를 (dpR, dpR) 으로 저장하고 이후 똑같은 행에서 떨어뜨릴 경우 해당
1036번: 36진수 (acmicpc.net)최대값을 구하는 방법 각 자리수의 수마다 해당 수를 Z로 치환했을 때의 값과 차를 더해서 각각 36개의 배열에 저장한다. 예를 들어 12가 있을 때 2에 해당하는 배열에 1Z - 12의 값을 더해주고 1에 해당하는 배열에
16236번: 아기상어 (acmicpc.net)현재 아기상어의 위치에서 가장 가까운 먹이를 찾는 BFS를 계속 반복한다. 먹이를 먹은 위치를 다음 BFS의 시작점으로 한다. 더이상 먹을 수 있는 먹이가 없으면 BFS를 중단한다.아기 상어의 초기 크기는 2이고, 아기 상
3055번: 탈출 (acmicpc.net)BFS 각각 BFS 단계별로 진행하며 먼저 해당 단계의 물을 퍼트리고 해당 단계의 고슴도치가 이동할 수 있는 위치를 모두 구한다. 그 때 고슴도치가 이동할 다음 위치가 D에 해당하면 전체 반복문을 종료한다. 주의점 문제에서
7576번: 토마토 (acmicpc.net)BFS를 사용하면 되는 문제다. 2차원 배열을 입력받으며 익은 토마토를 모두 큐에 입력해놓고 BFS 진행하면 된다. BFS 반복문에서 마지막에 day 값을 더해주기 때문에 -1 부터 시작해야 한다.BFS 반복문을 통해 익힐 수
10026번: 적록색약 (acmicpc.net)BFS를 통해 두개의 배열을 탐색하여 그룹의 개수를 각각 구하면 된다.R, G, B 가 그대로 설정된 2차원 배열과 R을 G로 변경한 2차원 배열 2가지를 탐색하여 그룹의 수를 찾는다.각 배열을 BFS로 4방향 탐색하며 이
17472번: 다리 만들기 2 (acmicpc.net)섬의 개수와 위치 체크 BFS를 통해 이어지는 곳들을 모두 같은 섬으로 표시하고 BFS를 한 횟수만큼 섬이 있다고 보면 된다.다리 찾기N, M의 크기 제한이 크지 않기 때문에 2차원 배열을 완전 탐색하며 해당 위치
17281번: ⚾ (acmicpc.net)순열을 통해 가능한 모든 타자 순서를 구한다.nextPermutation을 사용하였다.이 때 근데 모든이닝에서 같은 결과를 내는 타자들을 중복하여 검사하지 않으면 더욱 효율적인 동작이 될 것 같다.야구 게임을 구현하여 가능한 최
4485번: 녹색 옷 입은 애가 젤다지? (acmicpc.net)2차원 배열로 입력받고 배열에서 위, 아래, 오른쪽, 왼쪽 인접한 곳과 간선이 있고 해당 간선의 가중치는 도착지의 도둑루피 값으로 설정하여 다익스트라 알고리즘을 진행하면 된다.간선만 잘 설정해주면 무난한
17144번: 미세먼지 안녕! (acmicpc.net)미세먼지의 확산과 공기청정기 바람의 회전 두가지를 구현하는 문제이다.미세먼지의 확산미세먼지가 있는 위치에서 주변 4방향으로 미세먼지를 확산시킨다.이 때 기존의 map 에 미리 더해버리게 되면 기존의 값에서 확산을 시
3954번: brainf\*\*k 인터프리터 (acmicpc.net)인터프리터 구현각 명령어에 맞게 포인터와 메모리 배열을 변경하기만 하면된다. 괄호는 미리 모든 괄호를 찾아서 짝을 지어준다.무한 루프 찾기처음엔 문제가 무슨 말인가 했지만 어쨋든 5천만번 수행 시 돌고
17136번: 색종이 붙이기 (acmicpc.net)그리디 처음에 문제를 보고 크기가 큰 색종이 부터 순서대로 넣으면 되지않을까 → X 아래와 같은 반례 존재순열을 통해 크기 별로 색종이를 씌우면 되지 않을까 → X 아래와 같은 반례 존재색종이를 씌울 때 항상 왼쪽
5373번: 큐빙 (acmicpc.net)복잡한 구현문제다. 큐브의 각 면과 해당 면의 9가지 칸들을 잘 정리해서 생각해야한다.큐브가 이렇게 있고각 면의 칸의 index는 이렇게 설정했다. ( 실제론 0~8 이므로 1씩 빼줘야함 )아랫면만 반대로 한 이유는 어쩌다 보니