알고리즘 정복하기!/백준 문제풀이 61

백준 4673번 Python / Math 문제 링크 https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 풀이 answer=[] for i in range(10000): answer.append(i+1) for i in range(1, 10000): if i < 10: i = i + i elif 10 알고리즘 정복하기!/백준 문제풀이 2022. 2. 8.
백준 3502번 Python / Math 문제 링크 https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 풀이 array = [] for _ in range(10): n = int(input()) n %= 42 if n not in array: array.append(n) print(len(array)) - 10개의 수를 입력해 42로 나눈 나머지 중 없는 수만을 리스트에 넣어 리스트의 길이를 출력했다. 다른 풀이 arr = [] for i in range(10): n = int(input()) arr.append(n % 42) arr = set(arr) pr.. 알고리즘 정복하기!/백준 문제풀이 2022. 2. 8.
백준 4344번 Python / Math 문제 링크 https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 풀이 c = int(input()) for _ in range(c): scores = list(map(int, input().split())) average = sum(scores[1:]) / scores[0] cnt = 0 for i in scores[1:]: if i > average: cnt += 1 answer = cnt/scores[0]*100 print('%.3f' %answer + '%') 알고리즘 정복하기!/백준 문제풀이 2022. 2. 8.
백준 1546번 Python / Math 문제 링크 https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 풀이 n = int(input()) scores = list(map(int, input().split())) high_score = max(scores) total = 0 for i in scores: total += i / high_score * 100 print(total/n) 알고리즘 정복하기!/백준 문제풀이 2022. 2. 8.
백준 11720번 Python / Math 문제 링크 https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 풀이 n = int(input()) number = int(input()) answer = 0 for i in range(10): cnt = str(number).count(str(i)) answer += i * cnt print(answer) - 제출한 풀이 n = input() print(sum(map(int, input()))) - sum()을 사용한 이상적인 풀이 알고리즘 정복하기!/백준 문제풀이 2022. 2. 8.
백준 10818번 Python / Math 문제 링크 https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 풀이 n = int(input()) numbers = list(map(int, input().split())) print(min(numbers), max(numbers)) min(), max()를 사용해 최소값, 최대값 간단하게 출력 알고리즘 정복하기!/백준 문제풀이 2022. 2. 8.
백준 2577번 Python / Math 문제 링크 https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 풀이 a = int(input()) b = int(input()) c = int(input()) multi = a*b*c multi_str = str(multi) for i in range(10): cnt = multi_str.count(str(i)) print(cnt) 알고리즘 정복하기!/백준 문제풀이 2022. 2. 8.
백준 15720번 Python / Greedy 문제 링크 https://www.acmicpc.net/problem/15720 15720번: 카우버거 첫째 줄에는 주문한 버거의 개수 B, 사이드 메뉴의 개수 C, 음료의 개수 D가 공백을 사이에 두고 순서대로 주어진다. (1 ≤ B, C, D ≤ 1,000) 둘째 줄에는 각 버거의 가격이 공백을 사이에 두고 주어진 www.acmicpc.net 풀이 b,c,d = map(int, input().split()) burgers = sorted(list(map(int, input().split())), reverse=True) sidemenus = sorted(list(map(int, input().split())), reverse=True) drinks = sorted(list(map(int,input()... 알고리즘 정복하기!/백준 문제풀이 2022. 1. 30.