알고리즘 31

단계별로 풀기 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단계 문자열 - 그룹 단어 체커(1316번 문제) Python3 답안

코드) def chk_word(word): eword_ary = list() result = 1 for w in word: if w in eword_ary: if(eword_ary.index(w) != (len(eword_ary)-1)): result = 0 break else: eword_ary.append(w) return result num = int(input()) result_num = 0 for i in range(num): word = input() result_num += chk_word(word) print(result_num) 문제) https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가..

Algorithm/Baekjoon 2019.10.12

단계별로 풀기 7단계 문자열 - 크로아티아 알파벳(2941번 문제) Python3 답안

코드) croatia = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] word = input() for cro in croatia: word = word.replace(cro, 'A'); print(len(word)) 문제) https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가..

Algorithm/Baekjoon 2019.10.12

단계별로 풀기 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

단계별로 풀기 5단계 1차원 배열 - 최소, 최대(10818번 문제) Python3 답안

코드) number = int(input()) num_ary = list(map(int, input().split(" "))) print(min(num_ary), max(num_ary)) 문제) https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net

Algorithm/Baekjoon 2019.10.11
반응형