dfs를 사용하여 구슬이 탈출하는 최단 경로 횟수를 반환하는 문제이다. 주의해야 할 점이 조금 있는 문제이다.먼저 두 공이 곂칠수 없다는 점을 유의해야하며 무슨 공을 먼저 움직이는지도 주의해 주어야 한다.예시로 RB와 같은 형식으로 맵에 들어오고 왼쪽으로 이동했을때 는
결과가 int형 범위를 넘어갈 수 있으므로 이점을 주의하자.
2048 게임을 구현하는 문제라고 생각하면 이해하기 쉽다. 다만 주의해야 하는 점들이 조금있는데, 2244 와 같이 한 행을 왼쪽으로 밀면48 로 결과가 나오게 된다는 점이다.연속적으로 같은것이 들어왔을때 합쳐주면 2244의 결과가84 와 같이 나올 수 도 있다. 이점
주사위를 굴릴때 각 면의 값을 어떻게 저장하고 변화할지에 대해 생각해 보아야하는 문제이다. 본인의 풀이는 단순히 직관적으로 직접 돌려주는 것 처럼 풀이하였다.주사위를 굴리는 다른 방식의 풀이도 참조한다.
ㅗ 모양을 제외하고는 dfs로 합을 계산해 줄 수 있다. ㅗ는 하드코딩으로 답을 구했다.
처음에는 dp의 방식으로 푸는 문제인가 싶었지만 문제 조건과 풀이방법을 생각해보니 dfs를 사용하면 간단하게 풀수있는 문제였다. 크게 어렵지않은 문제이다.주의할점은 상담 기간이 퇴사하는 날을 넘어가면 안된다는 점이다.
뱀게임을 구현해서 죽는지 몇초만에 죽는지를 판단하는 문제이다. 주의할점은 사과의 위치가 행 열로 주어지는데 board는 0,0부터 커지는 판임을 명심하자. (0,0 은 1행 1열)
주어진 맵에서 임의로 3개의 벽을 세워서 최대한 안전지대를 많이 만들면 되는 문제이다. 최대한 최적화를 해주려 노력했다. dfs와 bfs를 둘다 사용하였다.
주어진 설명대로만 따라하면 되는 문제이다. 어렵지않다. 다만 문제에서 말한대로만 해야한다.
연산자를 끼워넣어서 나올 수 있는 최대 최소값을 구하는 문제이다. 연산에 대해서는 우선순위를 무시하므로 주의하자.
dfs를 사용해서 풀면서 두팀의 점수차가 적도록 하면 되는 문제이다.
간단한 문제인데 이상한 곳에서 좀 헤맨 문제이다. 숫자를 눌러줄때 cnt를 안해주면 0에서 무한 루프가 돌 수 있으니 조심해야하고, 숫자를 누른것이 바로 목표 채널일 때를 생각해야한다.
주어진 조건에 맞춰서 길의 개수를 리턴하면 되는 문제이다. 크게 어렵지 않다.
주어진 조건대로 톱니바퀴를 돌리고 점수를 계산해주면 되는 문제이다.rotate 함수를 사용하면 좀더 편하게 풀 수 있다.
주어진 사다리에서 선을 3개 이하로 그어 i에서 i로 가도록 하면 되는 문제이다. 최적화를 최대한 하면 되는 문제이다. 크게 어렵지는 않다.
bfs와 dfs를 적절히 조합하는 문제이다. 크게 어렵지는 않지만 조심해야하는 부분들이 있고 최적화를 잘 해주어야 한다.
드래곤 커브의 규칙성을 찾아 풀어야 하는 문제이다.예시로 시작 방향이 1 이면1세대: 1 22세대: 12 323세대: 1232 3032와 같이 나온다.이전세대의 방향을 역순으로 +1 %4 한 값을 추가해주면 나온다.
bfs를 기반으로 푼 코드이다. 더 빠른 코드를 작성하고 싶다면 dfs로 푸는게 좀더 빠를 것 이다.아래 풀이의 핵심은 같은 연합끼리 묶어 놓고 연합 번호와 그에 따른 인구이동 결과를 unordered_map에 저장해둔다는 점이다.
주어진 조건에 잘 따라가면서 구현을 해 주면 되는 문제이다. 문제를 꼼꼼히 읽지 않으면 틀리기 쉬운 문제이니 유의해야한다.주의해야 할 점은 한 위치에 여러 나무가 동시에 존재 할 수 있다는 점이다.
주어지는 조건이 좀 많아서 문제를 자세히 읽고 풀어야 하는 문제이다.주의해야 할 점으로 이동 가능한 곳이 여러 곳 일때는 우선순위가 위쪽, 왼쪽 에 있는 순이며 물고기를 자신의 크기수 만큼 먹었을때 상어의 크기가 증가한다는 점이다.
주어진 조건에 따라 코드를 짜면 되는 문제이다. 크게 어렵지 않지만 먼지가 동시에 전파된다는 점을 유의해야 한다.
문제만 보면 크게 어렵지 않지만 상어가 왔다 갔다 하는 부분을 구현하는 데 시간을 좀 쓴 문제이다. 수식으로 만들어서 풀려하였지만 단순히 직접 이동하는 방법을 사용하였고, 이때 일정 거리 이상이면 반복되는 구간이 존재하므로 최적화를 해줄 수 있다.
행렬을 잘 다뤄야 하는 문제이다. 주의해야 할 점이 좀 몇가지가 있는데 행과 열을 대칭으로 바꿔서 정렬을 해준다음 다시 대칭으로 변환하여 열에 대한 정렬을 해줄 떄 복사의 범위가 행열중 큰 수까지 복사되어야 한다는 점이다. 또한 문제에서 100 초가 넘어가거나 행렬의
문제를 완벽히 이해하는데 좀 애를 먹은 문제이다. 주의할 점은 비활성화 바이러스 또한 바이러스라는 점이다. 때문에 실험실이 비활성화 활성화 여부에 상관없이 빈공간만 아니면 된다는 점을 유의해야한다.
범위를 설정하는것이 골아픈 문제이다.
문제의 핵심은 업어서 이동하는 부분에 대한 구현에서 실수없이 잘 하는 것이다. iterator를 다룰 때 조심을 해서 풀자.