반응형

파이썬 정렬 5

[파이썬, Python] 백준 10610: 30

문제 https://www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net 코드 nums = list(input()) nums.sort(reverse = True) cnt = 0 for i in nums: cnt += int(i) if cnt % 3 != 0 or "0" not in nums: print(-1) else: print(''.join(nums)) 설명 우선 각 수를 리스트로 받아서 저장해 두고 큰 수를 만들기 위해서 역순으로 정렬을 해주자. 30의 배수가..

[파이썬, Python] 백준 10825: 국영수

문제 https://www.acmicpc.net/problem/10825 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net 코드 n = int(input()) score = list() for _ in range(n): s = input().split() score.append(s) score.sort(key = lambda x: (-int(x[1]), int(x[2]), -int(x[3]), x[0])) for i in score: print(i[0]) 설명 우선 n과 주어진 점수들을 넣을..

[파이썬, Python] 백준 11931: 수 정렬하기 4

문제 https://www.acmicpc.net/problem/11931 11931번: 수 정렬하기 4 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 코드 import sys input = sys.stdin.readline n = int(input()) nums = list() for i in range(n): num = int(input()) nums.append(num) for i in sorted(nums, reverse = True): print(i) 설명 n을 입력받아준다. 숫자를 담을 리스트도 생성해 준다. n의..

[파이썬, Python] 백준 2822: 점수 계산

문제 https://www.acmicpc.net/problem/2822 2822번: 점수 계산 8개 줄에 걸쳐서 각 문제에 대한 참가자의 점수가 주어진다. 점수는 0보다 크거나 같고, 150보다 작거나 같다. 모든 문제에 대한 점수는 서로 다르다. 입력으로 주어지는 순서대로 1번 문제, 2번 문 www.acmicpc.net 코드 li = [] idx = [] ans = 0 for i in range(8): li.append(int(input())) for i in range(5): idx.append(li.index(max(li)) + 1) ans += li[li.index(max(li))] li[li.index(max(li))] = -1 idx.sort() print(ans) for i in idx: ..

[파이썬, Python] 백준 4673: 셀프 넘버

문제 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 코드 numbers = set(range(1,10001)) remove_numbers = set() for i in range(1, 10001): for j in str(i): i += int(j) remove_numbers.add(i) self_numbers = sorted(numbers - remove_numbers) for i in se..

반응형