baekjoon 28

단계별로 풀기 10단계 재귀 - 피보나치 수 5(10870번 문제) Python3 답안

문제) https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 www.acmicpc.net 답안) n = int(input()) fibo = [0, 1] for i in range(2, n+1): element..

Algorithm/Baekjoon 2019.12.17

단계별로 풀기 8단계 수학 1 - 카잉 달력(6064번 문제) Python3 답안

답안) for _ in range(int(input())): m, n, x, y = map(int, input().split()) x -= 1 y -= 1 k = x while k < n*m: if k % n == y: print(k+1) break k += m if k % n != y: print(-1) 문제) https://www.acmicpc.net/problem/6064 6064번: 카잉 달력 문제 최근에 ICPC 탐사대는 남아메리카의 잉카 제국이 놀라운 문명을 지닌 카잉 제국을 토대로 하여 세워졌다는 사실을 발견했다. 카잉 제국의 백성들은 특이한 달력을 사용한 것으로 알려져 있다. 그들은 M과 N보다 작거나 같은 두 개의 자연수 x, y를 가지고 각 년도를 와 같은 형식으로 표현하였다. 그들은 ..

Algorithm/Baekjoon 2019.10.27

단계별로 풀기 8단계 수학 1 - 부녀회장이 될테야(2775번 문제) Python3 답안

답안) test_case = int(input()) for i in range(test_case): k_floor = int(input()) n_room = int(input()) k_list = [] for k in range(k_floor): tmp_list = []; for n in range(1, n_room+1): if len(k_list) == 0: tmp_list.append(n) else: tmp_list.append(sum(k_list[:n])) k_list = tmp_list print(sum(k_list[:n_room+1])) 문제) https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그..

Algorithm/Baekjoon 2019.10.14

단계별로 풀기 8단계 수학 1 - 달팽이는 올라가고 싶다(2869번 문제) Python3 답안

답안) import math a, b, v = map(int, input().split(" ")) print(int((v-b-1)/(a-b))+1) 문제) https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 ..

Algorithm/Baekjoon 2019.10.12

단계별로 풀기 8단계 수학 1 - 벌집(2292번 문제) Python3 답안

답안) number= int(input()) room_num = 1 room_cnt = 1 while True: if room_num < number: room_num += (6 * room_cnt) room_cnt += 1 else: break print(room_cnt) 문제) https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. ..

Algorithm/Baekjoon 2019.10.12
반응형