Programming(106)
-
백준 BaekJoon Online Judge // 11729
백준 알고리즘 BaekJoon Online Judge 11729번 "하노이 탑 이동 순서" 문제입니다. def hanoi(N, fr, through, to): if N == 1: print(fr, to) else: hanoi(N-1, fr, to, through) print(fr, to) hanoi(N-1, through, fr, to) N = int(input()) print(2**N - 1) hanoi(N, 1, 2, 3) 유명한 하노이의 탑 문제를 재귀 함수로 푸는 문제다. 1번에서 크기가 큰 원판부터 가장 작은 원판까지 쌓여있는 탑을 3번으로 옮기는 문제다. 규칙은 1. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다, 2. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이다..
2021.01.25 -
SW Expert Academy // 3975
SW Expert Academy 3975번 "승률 비교하기" 문제입니다. TC = int(input()) ans = [] for tc in range(1, TC + 1): A, B, C, D = map(int, input().split()) a, b = A/B, C/D if a>b: ans.append("#"+str(tc)+" ALICE") elif a
2021.01.25 -
백준 BaekJoon Online Judge // 10870
백준 알고리즘 BaekJoon Online Judge 10870번 "피보나치 수 5" 문제입니다. def fibb(N): if N == 0: return 0 elif N == 1: return 1 else: return fibb(N-1) + fibb(N-2) n = int(input()) print(fibb(n)) 재귀 함수를 사용하여 피보나치 함수를 구현하는 문제다. 피보나치 수는 처음 두 개의 수는 0과 1로 시작하고 그 후의 수는 직전 2개의 수를 더한 값이다. 즉 0, 1, 1, 2, 3, 5, 8, 13... 으로 나열되는 수열을 피보나치 수열이라고 한다. 재귀 함수를 탈출구가 있어야 한다고 전 재귀 함수 포스트에서 말한바있다. 따라서 이번에도 탙출구인 N이 0 이나 1일 경우를 만들고 3번째 ..
2021.01.25 -
SW Expert Academy // 4047
SW Expert Academy 4047번 "영준이의 카드 카운팅" 문제입니다. TC = int(input()) for tc in range(1, TC + 1): card = [['01','02','03','04','05','06','07','08','09','10','11','12','13'] for _ in range(4)] string = input() errornot = 0 for i in range(len(string)//3): if string[i*3] == 'S': if string[i*3+1:i*3+3] in card[0]: card[0].remove(string[i*3+1:i*3+3]) else: errornot = 1 elif string[i*3] == 'D': if string[i*3..
2021.01.25 -
백준 BaekJoon Online Judge // 10872
백준 알고리즘 BaekJoon Online Judge 10872번 "팩토리얼" 문제입니다. def fac(N): if N
2021.01.23 -
SW Expert Academy // 4299
SW Expert Academy 4299번 "태혁이의 사랑은 타이밍" 문제입니다. TC = int(input()) for tc in range(1, TC + 1): D, H, M = map(int, input().split()) ans = D*24*60 + H*60 + M L = 11*24*60 + 11*60 + 11 ans -= L if ans < 0: print("#%s"%tc, -1) else: print("#%s"%tc, ans) 일, 시, 분을 분으로 통째로 바꿔서 대소비교하는 문제다. 1일은 24시간이고 24시간은 24*60분으로 계산해서 차이를 구해서 음수일 경우 -1을 출력하고 그 외일 경우는 차를 출력한다. 문제를 읽다가 눈물이 앞을 가렸었다.
2021.01.23