오픈채팅방
https://www.welcomekakao.com/learn/courses/30/lessons/42888?language=java
2019 카카오 신입 공채 1차 코딩 테스트
풀이
HashMap으로 이름 변경 이력을 저장한다.
( key : id / value : name )
records 배열을 순회하며 리턴할 배열을 생성한다.
https://www.welcomekakao.com/learn/courses/30/lessons/42888?language=java
2019 카카오 신입 공채 1차 코딩 테스트
HashMap으로 이름 변경 이력을 저장한다.
( key : id / value : name )
records 배열을 순회하며 리턴할 배열을 생성한다.
https://www.acmicpc.net/problem/13460
삼성 기출문제이다. 해설을 보고 이해하였다.
구슬 이동 방법 : 상대 공을 무시하고 각자 공을 이동시킴
https://www.acmicpc.net/problem/12100
삼성 기출문제이다. DFS 문제이다. 블록을 이동하는 것이 어려운 문제였다.
블록을 5번 이동 시키는 것은 다음 그림과 같이 DFS로 구현한다.
문제의 핵심은 블록을 이동하는 것이다. 블록 이동을 구현하기 위해 Queue를 사용한다.
https://www.acmicpc.net/problem/3190
삼성 기출문제이다. 쉬운 문제였다.
핵심은 뱀의 이동 흔적을 남기는 것이다. 이를 위해, Queue를 사용하였다.
뱀이 머리만 이동할 경우
뱀이 완전히 한 칸 이동할 경우
https://www.acmicpc.net/problem/13458
삼성 기출문제이다. 매우 쉬운 문제였다.
문제에서 주어진 대로 풀면 된다.
처음에 틀렸다.
ans 변수를 int로 선언하였을 때는 틀렸다고 나온다.
long 형으로 선언하였더니 맞았다.
https://www.acmicpc.net/problem/14499
삼성 기출문제이다. 쉬운 문제이다. 문제 이해만 잘 하면 된다.
문제의 핵심은 주사위를 ‘옮기는 것’ 아니라, ‘굴리는 것’이다.
다음 그림과 같이 처음 상태에서 동, 서, 북, 남으로 굴림에 따라서 방향에 대한 값이 바뀐다.
회전하고 문제에서 주어진 대로 풀면 된다.
https://www.acmicpc.net/problem/14499
삼성 기출문제이다. DFS 문제이다.
어려웠다. 해설을 보고 이해를 했지만, 직집 해결해보기 위해 며칠 동안 붙잡고 있던 문제이다.
사다리를 코드로 표현하는 방법은 다음 그림과 같이 이차원 배열을 이용한다. 사다리를 1과 2로 표현한다.
사다리를 둘 수 있는 곳의 조건은 다음과 같다.
https://www.acmicpc.net/problem/14500
삼성 기출문제이다. 매우 어려운 문제였다.
처음에, 도형의 모든 경우의 수를 하나 하나 놓아봐서 최대값을 구해야하는지 생각했다.
하지만, DFS로 해결할 수 있다.
다음 그림과 같이 DFS를 이용하여 최대한 깊이 탐색한다.
ㅗ 모양을 제외한 모양은 DFS로 탐색이 가능하다. 4개의 탐색(깊이 3) 까지 마쳤을 때, 최대값을 계산한다.
https://www.acmicpc.net/problem/14503
삼성 기출문제이다.
매우 어려운 문제였다. 문제 이해 자체가 어렵다.
BFS로 해결할 수 있다.
현재 위치를 청소한다.
현재위치에서 바라보는 방향의 왼쪽 방향을 확인한다.
( 이 작업을 4번 진행한다. 그렇다면, 현재위치의 동서남북 모든 방향을 확인 할 수 있다.)
청소를 해야할 구역이고, 아직 방문하지 않았으면 방문한다.
네 방향 모두 청소가 이미 되어있거나 벽인 경우에는, 바라보는 방향을 유지한 채로 한 칸 후진한다.
네 방향 모두 청소가 이미 되어있거나 벽이면서, 뒤쪽 방향이 벽이라 후진도 할 수 없는 경우에는 작동을 멈춘다.
다음 그림에서와 같이 처음 시작은 (7,4) 에서 시작하고, 방향은 북쪽(0)을 바라보고 있다고 하자.
최종 움직임은 다음과 같이 그려질 것이다.
https://www.acmicpc.net/problem/15683
어려웠다. BFS로 시도하였지만, 실패하였다.
해설을 보고 DFS로 풀었다.
탐색 순서를 설명하기 위해 다음 표를 보자.
위의 표에서 감시 카메라는 A, B, C 세 개가 있다.
A와 B 는 상하 / 좌우 를 감시할 수 있고, C는 상하좌우를 감시할 수 있다.
탐색 순서는 다음 그림과 같이 나타낼 수 있다.