이 문제의 경우 주사위를 움직이는 dice_move 함수와 연속해서 이동할 수 있는 칸의 수를 리턴하는 C 함수인 두 가지 함수로 쪼갤 수 있습니다. 첫 번째 함수인 dice_move 함수는 상하좌우로 주사위가 이동할 때 주사위 전개도에서 숫자가 이동하는 것을 구현했습니다. 두 번째 함수인 C 함수는 해당 칸에서 얼마나 연속해서 이동할 수 있는지 계산해야 하므로 deque 또는 queue를 사용하거나 dfs로 구현할 수 있습니다. HTML 삽입 미리보기할 수 없는 소스
상어의 마법 연습 한 번은 다음과 같은 작업이 순차적으로 이루어진다. 1. 상어가 모든 물고기에게 복제 마법을 시전한다. 복제 마법은 시간이 조금 걸리기 때문에, 아래 5번에서 물고기가 복제되어 칸에 나타난다. 2. 모든 물고기가 한 칸 이동한다. 상어가 있는 칸, 물고기의 냄새가 있는 칸, 격자의 범위를 벗어나는 칸으로는 이동할 수 없다. 각 물고기는 자신이 가지고 있는 이동 방향이 이동할 수 있는 칸을 향할 때까지 방향을 45도 반시계 회전시킨다. 만약, 이동할 수 있는 칸이 없으면 이동을 하지 않는다. 그 외의 경우에는 그 칸으로 이동을 한다. 물고기의 냄새는 아래 3에서 설명한다. 3. 상어가 연속해서 3칸 이동한다. 상어는 현재 칸에서 상하좌우로 인접한 칸으로 이동할 수 있다. 연속해서 이동하는..
문제에 과정이 나타나있으므로 필요한 함수를 구현할 수 있습니다. 구사과의 성능 테스트는 다음과 같은 작업이 순차적으로 이루어지며, 가장 처음에 모든 칸의 온도는 0이다. 문제의 그림에서 빈 칸은 온도가 0인 칸을 의미한다. 1. 집에 있는 모든 온풍기에서 바람이 한 번 나옴 2. 온도가 조절됨 3. 온도가 1 이상인 가장 바깥쪽 칸의 온도가 1씩 감소 4. 초콜릿을 하나 먹는다. 5. 조사하는 모든 칸의 온도가 K 이상이 되었는지 검사. 모든 칸의 온도가 K이상이면 테스트를 중단하고, 아니면 1부터 다시 시작한다. 여기서 크게 온풍기에서 바람이 나오는 함수, 온도 조절 함수, 조사가 필요한 칸의 온도를 체크하는 함수를 구현하면 됩니다. 첫 번째로 온풍기에서 바람이 나오는 함수 heat는 queue를 이용..
개인정보 수집 유효기간 단순 구현 문제이고 "년.월.일" 형태를 "일"로 바꿔 계산합니다. 문제를 풀면서 날짜 계산에 주의해야 합니다. HTML 삽입 미리보기할 수 없는 소스 택배 배달과 수거하기 문제가 지금도 잘 이해가 되지 않지만 "각 집에 배달 및 수거할 때, 원하는 개수만큼 택배를 배달 및 수거할 수 있습니다." 라는조건을 통해 물건을 나눠 배달하거나 수거할 수 있다고 생각하여 다음과 같이 구현했습니다. HTML 삽입 미리보기할 수 없는 소스 이모티콘 할인행사 각각의 케이스마다 완전탐색하여 구현할 수 있습니다. HTML 삽입 미리보기할 수 없는 소스 표현 가능한 이진트리 어떠한 트리가 존재하고 완전이진트리가 될 수 있는 길이만큼 0으로 패딩했을 때 완전이진트리를 형성할 수 있는지 물어보는 문제입..
문제를 풀때 삼성 문제답게 쪼개서 생각하는 것이 중요했습니다. 어항을 정리하는 두 개의 함수와 물고기를 옮기는 함수를 구현할 수 있습니다. 첫 번째 어항을 정리하는 과정은 문제에 설명하는 것을 다시 생각해보면 다음과 같이 달팽이 문제처럼 어항을 말아 올리는 과정을 구현하라는 것입니다. 1. a b c d e f g h i j k 2. a b c d e f g h i j k 3. b a c d e f g h i j k 4. c b d a e f g h i j k 5. e d c f a b g h i j k 두 번째 어항을 정리하는 과정은 다음과 같이 생각해볼 수 있습니다. 1. a b c d e f g h 2. d c b a e f g h 3. f e c d b a g h 즉, 배열을 4구역으로 나눈 뒤 ..