반응형

백준 파이썬 122

[파이썬, Python] 백준 18870: 좌표 압축

문제 https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 코드 import sys input = sys.stdin.readline n = int(input()) num = list(map(int, input().split())) numset = sorted(set(num)) dic = {numset[i]: i for i in range(len(numset))} for i in num: print(d..

[파이썬, Python] 백준 10814: 나이순 정렬

문제 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 코드 import sys n = int(sys.stdin.readline()) people_list = [] for _ in range(n): age, name = sys.stdin.readline().rstrip().split() age = int(age) people_list.append((age, name)) people_list.sort(key = lambda x: x[0]) for i i..

[파이썬, Python] 백준 11651: 좌표 정렬하기 2

문제 https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 코드 import sys n = int(sys.stdin.readline()) num_list = [] for _ in range(n): x, y = map(int, sys.stdin.readline().split()) num_list.append([x,y]) num_list.sort(key = lambda x: (x[1], x[0])..

[파이썬, Python] 백준 11650: 좌표 정렬하기

문제 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 코드 import sys n = int(sys.stdin.readline()) num_list = [] for _ in range(n): x, y = map(int, sys.stdin.readline().rstrip().split()) num_list.append((x,y)) num_list.sort() for x,y in num_list..

[파이썬, Python] 백준 1427: 소트인사이드

문제 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 코드 n = ''.join(sorted((input()), reverse=True)) print(n) 설명 방법이 여러가지가 있는데 그 중에서 join을 사용하여 리스트의 문자열을 합치는 방식으로 하였다. 입력 받은 수를 역순으로 정렬하여 n에 join해주고 n을 출력해준다.

[파이썬, Python] 백준 2108: 통계학

문제 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 코드 from collections import Counter import sys n = int(sys.stdin.readline()) num = [] mode = [] for _ in range(n): num.append(int(sys.stdin.readline())) num_most = Counter(num).most_common() num.sort() print(round((sum(num)/n))) ..

[파이썬, Python] 백준 10989: 수 정렬하기 3

문제 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 코드 import sys input = sys.stdin.readline n = int(input()) num_list = [0]*10001 for _ in range(n): num = int(input()) num_list[num] += 1 for i in range(10001): if num_list[i] != 0: for j in range(num_list[i]): print(i) 설명 카운팅 정렬이라는 ..

[파이썬, Python] 백준 2751: 수 정렬하기 2

문제 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 코드 import sys n = int(sys.stdin.readline()) num_list = [] for _ in range(n): num = int(sys.stdin.readline()) num_list.append(num) for i in sorted(num_list): print(i) 설명 우선 수의 리스트를 입력받고, 오름차순으로 출력을 한다. 일반적인 input을 사..

[파이썬, Python] 백준 25305: 커트라인

문제 https://www.acmicpc.net/problem/25305 25305번: 커트라인 시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다. www.acmicpc.net 코드 n, k = map(int,input().split()) x = list(map(int, input().split())) x.sort(reverse=True) print(x[k-1]) 설명 우선 입력값을 다 입력 받아준다. 이후 (reverse=True)를 사용해서 역순으로 정렬해서 k-1(k번째 이므로)을 출력해준다.

[파이썬, Python] 백준 2587: 대표값2

문제 https://www.acmicpc.net/problem/2587 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + www.acmicpc.net 코드 num_list = [] for _ in range(5): num_list.append(int(input())) num_list.sort() print(sum(num_list)//5) print(num_list[2]) 설명 우선 수를 입력받아서 정렬해준다. 이후 리스트의 합을 5로 나눈 몫을 출력하고, 3번째의 값을 출력하여 중앙값도 출력해준다.

반응형