백준(Python) 풀이 477

백준(Python) 10828번 스택 풀이

Python으로 구현한 10828번 스택 문제 풀이입니다. https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) q = [] for _ in range(n) : order = list(input().split()) if len(order) == 2 : # push X 일경우 insert_value = int(order[1]) q.app..

백준(Python) 10815번 숫자 카드 풀이

Python으로 구현한 10815번 숫자 카드 문제 풀이입니다. https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net n = int(input()) card = list(map(int, input().split())) m = int(input()) data = list(map(int, input().split())) card.sort() def binary_search(value, start, end) : global ..

백준(Python) 10989번 수 정렬하기 3 풀이

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()) data = [0] * 10001 for _ in range(n) : data[int(input())] += 1 for i in range(10001) : if data[i] != 0 : for j in range(data[i]) : print(i) ..

백준(Python) 2751번 수 정렬하기 2 풀이

Python으로 구현한 2751번 수 정렬하기 2 문제 풀이입니다. https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net n = int(input()) data = [] for _ in range(n) : data.append(int(input())) def merge_sort(data) : if len(data)

백준(Python) 2750번 수 정렬하기 풀이

Python으로 구현한 2750번 수 정렬하기 문제 풀이입니다. https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net n = int(input()) data = [] for _ in range(n) : data.append(int(input())) data.sort() for value in data : print(value) 1. n개의 수를 입력받아 data 리스트에 저장한다. 2. data 리스트에 존재하는 값들을 오름차순으로 정렬한다. 3. data ..

백준(Python) 18870번 좌표 압축 풀이

Python으로 구현한 18870번 좌표 압축 문제 풀이입니다. https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net from bisect import bisect_right n = int(input()) data = list(map(int, input().split())) sorted_data = sorted(list(set(data))) def search(data, right_value) : r..

백준(Python) 10816번 숫자 카드 2 풀이

Python으로 구현한 10816번 숫자 카드 2 문제 풀이입니다. https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net from bisect import bisect_left, bisect_right n = int(input()) data = list(map(int, input().split())) data.sort() m = int(input()) target = list(map(int, input().split..

백준(Python) 1920번 수 찾기 풀이

Python으로 구현한 1920번 수 찾기 문제 풀이입니다. https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net n = int(input()) data = list(map(int, input().split())) m = int(input()) target = list(map(int, input().split())) data.sort() def binary_search(data, t, start, en..

백준(Python) 23290번 마법사 상어와 복제 풀이

Python으로 구현한 23290번 마법사 상어와 복제 문제 풀이입니다. https://www.acmicpc.net/problem/23290 23290번: 마법사 상어와 복제 첫째 줄에 물고기의 수 M, 상어가 마법을 연습한 횟수 S가 주어진다. 둘째 줄부터 M개의 줄에는 물고기의 정보 fx, fy, d가 주어진다. (fx, fy)는 물고기의 위치를 의미하고, d는 방향을 의미한다. 방향 www.acmicpc.net # ←, ↖, ↑, ↗, →, ↘, ↓, ↙ (45도 반시계 주의! - 물고기 이동) dx = [0, -1, -1, -1, 0, 1, 1, 1] dy = [-1, -1, 0, 1, 1, 1, 0, -1] # 상어 (상좌하우) 연속해서 3칸 이동 shark_dx = [-1, 0, 1, 0] s..

백준(Python) 23291번 어항 정리 풀이

Python으로 구현한 23291번 어항 정리 문제 풀이입니다. https://www.acmicpc.net/problem/23291 23291번: 어항 정리 마법사 상어는 그동안 배운 마법을 이용해 어항을 정리하려고 한다. 어항은 정육면체 모양이고, 한 변의 길이는 모두 1이다. 상어가 가지고 있는 어항은 N개이고, 가장 처음에 어항은 일렬로 바 www.acmicpc.net # 1. 물고기의 수가 가장 적은 어항에 물고기를 한 마리 넣는다. # 2. 가장 왼쪽에 있는 어항을 그 어항의 오른쪽에 있는 어항의 위에 올리기 # 3. 행이 2 이상이면, 시계방향으로 90도 회전 후 어항 위에 올리기 # 4. 바닥에 있는 어항의 범위보다 초과되면 안됌 # 5. 물고기의 수를 조절 : 동시에 발생 # 6. 어항을 ..