Algorithm 74

[백준/파이썬] 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 read = sys.stdin.readline n = int(read()) dots = list(map(int, read().split())) pressed = sorted(list(set(dots))) dic = {pressed[i] : i for i in range(len(pressed))} for i in dots: pri..

Algorithm/Problems 2022.11.09

[백준/파이썬] 10814번 나이순 정렬

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

Algorithm/Problems 2022.11.09

[백준/파이썬] 1181번 단어 정렬

https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net import sys read = sys.stdin.readline words = [] n = int(read()) for _ in range(n): word = input() leng = len(word) words.append((leng, word)) set_words = list(set(words)) set_words.sort(key=lambda x: (x[0], x[1])) for..

Algorithm/Problems 2022.11.09

[백준/파이썬] 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 read = sys.stdin.readline dots = [] n = int(read()) for i in range(n): dot = list(map(int, read().split())) dots.append(dot) dots.sort(key=lambda x: (x[1],x[0])) for i in range(n):..

Algorithm/Problems 2022.11.08

[백준/파이썬] 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 read = sys.stdin.readline dots = [] n = int(read()) for i in range(n): dot = list(map(int, read().split())) dots.append(dot) dots.sort() for i in range(n): print(dots[i][0], dots[i][..

Algorithm/Problems 2022.11.08

[백준/파이썬] 2108번 통계학

https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net import sys from collections import Counter input = sys.stdin.readline n = int(input()) nums = [] for _ in range(n): nums.append(int(input())) nums.sort() # 산술평균 print(round(sum(nums)/n)) # 중앙값 print(nums[n//2]) # 최빈값 cnt = Counter(..

Algorithm/Problems 2022.11.08

[백준/파이썬] 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 nums = [] n = int(input()) for i in range(n): num = int(input()) nums.append(num) for i in sorted(nums): print(i) 문제만 보면 어려운 문제가 아니다. 하지만, 시간초과, 메모리초과 때문에 고려해야할 것이 있는 것 같다. import sys input ..

Algorithm/Problems 2022.11.08

[백준/파이썬] 2563번 색종이

https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net paper = [[0] * 100 for _ in range(100)] n = int(input()) for _ in range(n): a, b = map(int, input().split()) for i in range(a, a+10): for j in range(b, b+10): paper[i][j] = 1 cnt = 0 for box in paper: cnt += box.count(1) prin..

Algorithm/Problems 2022.11.07

[백준/파이썬] 2566번 최댓값

https://www.acmicpc.net/problem/2566 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net nums = [] for i in range(9): num = list(map(int, input().split())) nums.append(num) max_num = 0 tmp_i = 0 tmp_j = 0 for i in range(9): for j in range(9): if nums[i][j] > max_num: max_num = nums[i][j] tmp_i = i tmp_j = j print(max_num)..

Algorithm/Problems 2022.11.07