[Coding Test]/[백준]
[백준] 1436 파이썬(python) : 영화감독 숌
https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net import sys n = int(sys.stdin.readline()) target, cnt, tmp = '666', 1, 0 while True: if target in str(cnt): #1 tmp += 1 if tmp == n: #2 print(cnt) break cnt += 1 #3 브루트포스 문제다. 제한시간과 입력값의 범위를 유심히 봐야하는데 제한시간이 2초이고 입력값 n의 범위가 ..
[백준] 17478 파이썬(python) : 재귀함수가 뭔가요?
https://www.acmicpc.net/problem/17478 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net import sys n = int(sys.stdin.readline()) def recursion(depth): #1 print('____' * depth + "\"재귀함수가 뭔가요?\"") if depth == n: #2 print('____' * depth + "\"재귀함수는 자기 자신을 호출하는 함수라네\"") else: print('____' * depth + "\"잘 들어보게. 옛날옛날..
[백준] 10870 파이썬(python) : 피보나치 수 5
https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net def fibonacci(n): if n == 0: return 0 if n == 1 or n == 2: return 1 else: return fibonacci(n-1) + fibonacci(n-2) n = int(input()) print(fibonacci(n)) 유명한 문제 피보나치 수열 문제다. 재귀함수를 이용해서 푸는 문제인데 n이 0이면 리턴 값이..
[백준] 11729 파이썬(python) : 하노이 탑 이동 순서
https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net *설명을 위해 앞자리 숫자로 번호추가 1 def hanoi_tower(n, start, to, end): 2 if n == 1: 3 print(start, end) 4 else: 5 hanoi_tower(n-1, start, end, to) #1 6 print(start, end) #2 7 hanoi_tower(n-1, to, start, end) #3 8 n = int(input()..
[백준] 2839 파이썬(python) : 설탕 배달 - (★)
https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 나의 풀이 n = int(input()) cnt = 0 while n > 0: if n % 5 == 0: cnt += n // 5 n = 0 break else: n -= 3 cnt += 1 if n < 0: break if n < 0: cnt = -1 print(int(cnt)) 다른 사람의 풀이 import sys sugar = int(sys.stdin.readline()) bag = 0 while su..
[백준] 13305 파이썬(python) : 주유소
https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net import sys n = int(sys.stdin.readline()) road = list(map(int, sys.stdin.readline().split())) city = list(map(int, sys.stdin.readline().split())) cost, res = city[0], 0 #1 for i in range(len(city)-1): #2 if cost > ci..