답안 18

단계별로 풀기 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 - 달팽이는 올라가고 싶다(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

단계별로 풀기 8단계 수학 1 - 설탕 배달(2839번 문제) Python3 답안

ㅎㅎ 고정관념이란 무서워 답안) sugar_kg = int(input()) sugar_num = 0 while sugar_kg > 0: if sugar_kg % 5 != 0: sugar_kg -= 3 if sugar_kg < 0: sugar_num = -1 break sugar_num += 1 elif sugar_kg % 5 == 0: sugar_num += 1 sugar_kg -= 5 elif sugar % 5 != 0 and sugar % 3 != 0: sugar_num = -1 print(sugar_num) 문제) https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 ..

Algorithm/Baekjoon 2019.10.12

단계별로 풀기 7단계 문자열 - 단어공부(1157번 문제) Python3 답안

코드) word = input().upper() word_dict = dict() for i in word: if i in word_dict: word_dict[i] += 1 else: word_dict[i] = 1 result = None max_value = max(word_dict.values()) for key, value in word_dict.items(): if value == max_value: if result is None: result = key else: result = "?" print(result) 문제) https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지..

Algorithm/Baekjoon 2019.10.11

단계별로 풀기 5단계 1차원 배열 - 평균(1546번 문제) Python3 답안

코드) sub_num = int(input()) org_grade_ary = list(map(int, input().split(" "))) max_value = max(org_grade_ary) sum_value = 0.0 for org in org_grade_ary: sum_value += org / max_value * 100 print(round(sum_value / sub_num, 6)) 문제) https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. www...

Algorithm/Baekjoon 2019.10.11

단계별로 풀기 5단계 1차원 배열 - 나머지(3052번 문제) Python3 답안

답안) num_ary = list() for i in range(10): remain_value = int(input()) % 42 if remain_value not in num_ary: num_ary.append(remain_value) print(len(num_ary)) 문제) https://www.acmicpc.net/problem/3052 3052번: 나머지 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 ..

Algorithm/Baekjoon 2019.10.11

단계별로 풀기 5단계 1차원 배열 - 최댓값(2562번 문제) Python3 답안

답안) value_ary = [] for i in range(9): input_value = int(input()) value_ary.append(input_value) max_val = max(value_ary) print(max_val) print(value_ary.index(max_val) + 1) 문제) https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. www.acmicpc.net

Algorithm/Baekjoon 2019.10.11
반응형