Algorithm8 단지 번호 붙이기 (DFS) 문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오. 입력 첫 번째 줄에는 지도의 크기 N(정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그 다음 N줄에는 각각 N개의 자료(0혹은 1)가 입력된다. 출력 첫 번째 줄에는 총 단지수를 출력하시오. 그리고 각.. 2022. 4. 17. 백준 2292번 벌집 문제 벌집 문제 https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 수열 문제다. 숫자가 1인 경우에는 1칸 2~ 7인 경우에는 이동하는데 2칸 8 ~ 19 인경우에는 이동하는데 3칸....으로 수열의 성질을 띈다. 숫자의 앞자리만 따서, 2, 8, 20, 38 ... 을 보면 첫째항이 2이고 계차가 6n인 계차 수열이다. 이를 수열로 나타내면 3n(n-1) + 2다. 따라서 숫자가 들어왔을 때, 1인경우에는 1을 return하고, 나머지의 경우 위의 수열 값이.. 2021. 9. 29. 백준 4673번 python (set subtraction, sorted set) 백준 알고리즘 4673번 https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net d(n) 함수를 먼저 짜서, self number가 있는 숫자들을 먼저 구하고, 1 ~ 10000이 들어있는 집합 에서 빼주었다. 그리고, 이를 sorted()을 통해 출력해주었다. set은 subtraction이 자유로움(차집합의 개념), {*range()} 로 집합을 정의할 수 있음, sorted()로 집합도 정렬할 수.. 2021. 9. 23. 백준 2577번 word count(python) 백준 알고리즘 2577번 python https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net count 사용법을 몰라서 아래와 같이 비효율적으로 짜서 제출하였다. def solution(): A = int(input()) B = int(input()) C = int(input()) counter_dict = dict() for i in range(0,10): counter_dict[i] = 0 value = str(A * B * C) for keys in counter_dict.keys(): for j i.. 2021. 9. 23. 이전 1 2 다음