Algorithm
[Baekjoon]2798번 블랙잭
문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. Python3 답 n, m = map(int, input().split()) l = list(map(int,input().split())) result = 0 for i in range(n): for j in range(i+1, n): ..
[Baekjoon]11729번 하노이의 탑 이동 순서
문제 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다. Python3 답 def hanoi(n, start, end, assist): if n == 1: print(start, end) return hanoi(n-1, start, assist, end) print(start, end) hanoi(n-1, assist, end..
![[Baekjoon] 2941번 크로아티아 알파벳](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsWE4d%2FbtrzdMAoR9d%2FLXPZHAdYF7ublRVRKEf9Kk%2Fimg.png)
[Baekjoon] 2941번 크로아티아 알파벳
문제 Python3 답 words = input() croatia = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] for i in croatia: words = words.replace(i, '*') print(len(words)) 코드 풀이 2글자가 합쳐진 크로아티아 코드는 1글자로 취급한다고 하여서, replace를 이용하기로 하였다. replace를 이용하여 글자를 변환한 뒤, 마지막에 문자열의 길이를 출력해주면 값이 나온다. replace replace는 문자열을 특정 문자로 변경하는 함수이다. 변수명.replace(old, new, [count])형식으로 사용한다. count의 기본값은 전체를 의미하는 -1로 지정되어 있다. a = 'test' a =..