목록Baekjoon (9)
코딩딩딩

https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 1. 문제 설명 위의 그림처럼 규칙적으로 벌집에 번호가 부여될 때, 특정 번호의 방으로 갈 때 거쳐가는 방의 최소 개수를 구하는 문제 2. 문제 풀이 N의 최대 크기가 상당히 크기 때문에 배열을 이용한 문제는 비효율적이다. 벌집의 번호가 부여되는 규칙을 살펴본 결과 아래와 같은 규칙이 있었다. 1번 방을 중심으로 하여 한 칸씩 갈 때마다 방의 개수가 6개, 12개, 18개... 즉, 6의 배수만큼 점점 늘..

https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 1. 문제설명 원래 수의 각 자릿수의 합의 일의 자리 숫자 -> 다음 수의 일의 자리 숫자 원래 수의 일의자리 숫자 -> 다음 수의 십의자리 숫자 원래 수가 나올 때까지 반복하며 사이클의 길이를 구하는 문제 2. 문제 풀이 입력 받은 수를 업데이트하는 연산만 해주면 된다. 초기 수로 되돌아 왔을 때 프로그램 종료 ten_number = n % 10 one_number = (n // ..

https://www.acmicpc.net/problem/16562 16562번: 친구비 첫 줄에 학생 수 N (1 ≤ N ≤ 10,000)과 친구관계 수 M (0 ≤ M ≤ 10,000), 가지고 있는 돈 k (1 ≤ k ≤ 10,000,000)가 주어진다. 두번째 줄에 N개의 각각의 학생이 원하는 친구비 Ai가 주어진다. (1 ≤ Ai ≤ 10, www.acmicpc.net 1. 문제 설명 특정 비용을 지불하여 친구를 사귀며 친구의 친구를 친구로 인정한다. 친구 전부를 사귈 수 있는 최소 비용을 구하는 문제 2. 문제 풀이 한 친구를 사귄다면 다른 친구 또한 사귀게 되는 원리이다. 그러므로 친구 관계를 형성하는 번호끼리 구분을 해줄 필요가 있다. 유니온 - 파인드 알고리즘을 활용하여 최소비용을 구하는..

https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 1. 문제 설명 입력받은 시각보다 45분 이른 시각을 구하는 시간 계산 문제 2. 문제 풀이 입력받은 M이 45보다 클 경우에는 그대로 45를 빼준 시각을 출력을 한다. 그러나, 입력받은 M이 45보다 작을 경우 H를 한시간 감소시키고 M에 60을 더한 후 45를 빼준 시각을 출력한다. if M >= 45:#45보다 크거나 같은 경우 M -= 45 else:#45보다 작을 경우 if H == 0: H = ..

https://www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개 www.acmicpc.net 1. 문제 설명 세 개의 주사위를 던진 후 중복된 숫자 개수에 따라 상금을 다르게 받게 된다. 2. 문제 풀이(1) if - elif - else 구문으로 각 조건을 정의하고 그 조건에 맞는 가격을 계산한다. number_list = list(map(int, input().split())) #세개가 같은 경우 if number_list[0] == number_list[1] and n..

1. 너비 우선 탐색(Breadth-First Search) 깊이 우선 탐색과 다르게 인접해 있는 노드를 우선적으로 탐색하는 알고리즘이다. 즉, 현재 노드로부터 거리가 가까운 노드부터 차례로 방문한다. https://commons.wikimedia.org/wiki/File:Breadth-First-Search-Algorithm.gif File:Breadth-First-Search-Algorithm.gif - Wikimedia Commons No higher resolution available. commons.wikimedia.org 위의 이미지는 너비우선탐색(BFS)의 예시를 보여준다. 2. 예제 적용 (백준 2636) https://www.acmicpc.net/problem/2636 2636번: 치즈..