emeraldgoose
goooose

전체 글

백준, 프로그래머스, SWEA, 코드트리 문제 풀이 전용
백준

백준 23288 주사위 굴리기 2 (C++)

이 문제의 경우 주사위를 움직이는 dice_move 함수와 연속해서 이동할 수 있는 칸의 수를 리턴하는 C 함수인 두 가지 함수로 쪼갤 수 있습니다. 첫 번째 함수인 dice_move 함수는 상하좌우로 주사위가 이동할 때 주사위 전개도에서 숫자가 이동하는 것을 구현했습니다. 두 번째 함수인 C 함수는 해당 칸에서 얼마나 연속해서 이동할 수 있는지 계산해야 하므로 deque 또는 queue를 사용하거나 dfs로 구현할 수 있습니다. HTML 삽입 미리보기할 수 없는 소스

백준

백준 23290 마법사 상어와 복제(C++)

상어의 마법 연습 한 번은 다음과 같은 작업이 순차적으로 이루어진다. 1. 상어가 모든 물고기에게 복제 마법을 시전한다. 복제 마법은 시간이 조금 걸리기 때문에, 아래 5번에서 물고기가 복제되어 칸에 나타난다. 2. 모든 물고기가 한 칸 이동한다. 상어가 있는 칸, 물고기의 냄새가 있는 칸, 격자의 범위를 벗어나는 칸으로는 이동할 수 없다. 각 물고기는 자신이 가지고 있는 이동 방향이 이동할 수 있는 칸을 향할 때까지 방향을 45도 반시계 회전시킨다. 만약, 이동할 수 있는 칸이 없으면 이동을 하지 않는다. 그 외의 경우에는 그 칸으로 이동을 한다. 물고기의 냄새는 아래 3에서 설명한다. 3. 상어가 연속해서 3칸 이동한다. 상어는 현재 칸에서 상하좌우로 인접한 칸으로 이동할 수 있다. 연속해서 이동하는..

백준

백준 23289 온풍기 안녕! (C++)

문제에 과정이 나타나있으므로 필요한 함수를 구현할 수 있습니다. 구사과의 성능 테스트는 다음과 같은 작업이 순차적으로 이루어지며, 가장 처음에 모든 칸의 온도는 0이다. 문제의 그림에서 빈 칸은 온도가 0인 칸을 의미한다. 1. 집에 있는 모든 온풍기에서 바람이 한 번 나옴 2. 온도가 조절됨 3. 온도가 1 이상인 가장 바깥쪽 칸의 온도가 1씩 감소 4. 초콜릿을 하나 먹는다. 5. 조사하는 모든 칸의 온도가 K 이상이 되었는지 검사. 모든 칸의 온도가 K이상이면 테스트를 중단하고, 아니면 1부터 다시 시작한다. 여기서 크게 온풍기에서 바람이 나오는 함수, 온도 조절 함수, 조사가 필요한 칸의 온도를 체크하는 함수를 구현하면 됩니다. 첫 번째로 온풍기에서 바람이 나오는 함수 heat는 queue를 이용..

프로그래머스

2023 KAKAO BLIND RECRUITMENT 문제풀이 (Python)

개인정보 수집 유효기간 단순 구현 문제이고 "년.월.일" 형태를 "일"로 바꿔 계산합니다. 문제를 풀면서 날짜 계산에 주의해야 합니다. HTML 삽입 미리보기할 수 없는 소스 택배 배달과 수거하기 문제가 지금도 잘 이해가 되지 않지만 "각 집에 배달 및 수거할 때, 원하는 개수만큼 택배를 배달 및 수거할 수 있습니다." 라는조건을 통해 물건을 나눠 배달하거나 수거할 수 있다고 생각하여 다음과 같이 구현했습니다. HTML 삽입 미리보기할 수 없는 소스 이모티콘 할인행사 각각의 케이스마다 완전탐색하여 구현할 수 있습니다. HTML 삽입 미리보기할 수 없는 소스 표현 가능한 이진트리 어떠한 트리가 존재하고 완전이진트리가 될 수 있는 길이만큼 0으로 패딩했을 때 완전이진트리를 형성할 수 있는지 물어보는 문제입..

백준

백준 23291 어항정리 (C++)

문제를 풀때 삼성 문제답게 쪼개서 생각하는 것이 중요했습니다. 어항을 정리하는 두 개의 함수와 물고기를 옮기는 함수를 구현할 수 있습니다. 첫 번째 어항을 정리하는 과정은 문제에 설명하는 것을 다시 생각해보면 다음과 같이 달팽이 문제처럼 어항을 말아 올리는 과정을 구현하라는 것입니다. 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구역으로 나눈 뒤 ..