알고리즘 테스트 ⏲/백준
-
17299번: 오등큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 이 문제는 오큰수 문제와 크게 다른 것은 없고 조건식만 조금 바꿔주면 동일한 문제입니다. [백준] 17298. 오큰수 풀이 / Python, JavaScript 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 작성 코드 (.py) import sys input = sys.stdin.read y..
[백준] 17299. 오등큰수 풀이 / Python, JavaScript17299번: 오등큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 이 문제는 오큰수 문제와 크게 다른 것은 없고 조건식만 조금 바꿔주면 동일한 문제입니다. [백준] 17298. 오큰수 풀이 / Python, JavaScript 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 작성 코드 (.py) import sys input = sys.stdin.read y..
2023.04.19 -
17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 작성 코드 (.py) import sys input = sys.stdin.readline n = int(input()) table = list(map(int, input().split())) s = [] result = [-1 for _ in range(n)] for i in range(len(table)): while s and s[-1][0] < table[i]: v, idx = s.pop() result[idx] = table[i] else: s.append((tabl..
[백준] 17298. 오큰수 풀이 / Python, JavaScript17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 작성 코드 (.py) import sys input = sys.stdin.readline n = int(input()) table = list(map(int, input().split())) s = [] result = [-1 for _ in range(n)] for i in range(len(table)): while s and s[-1][0] < table[i]: v, idx = s.pop() result[idx] = table[i] else: s.append((tabl..
2023.04.19 -
1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 작성 코드 (.py) import sys input = sys.stdin.readline ls, rs = list(input())[:-1], [] n = int(input()) for _ in range(n): inp = list(input().split()) op = inp[0] if op == "L": ls and rs.append(ls.pop()) elif op == "D": rs and ls.append(rs.pop()) elif op == "B": ls ..
[백준] 1406. 에디터 풀이 / Python, JavaScript1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 작성 코드 (.py) import sys input = sys.stdin.readline ls, rs = list(input())[:-1], [] n = int(input()) for _ in range(n): inp = list(input().split()) op = inp[0] if op == "L": ls and rs.append(ls.pop()) elif op == "D": rs and ls.append(rs.pop()) elif op == "B": ls ..
2023.04.17 -
1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 작성 코드 (.py) import sys input = sys.stdin.readline n = int(input()) result, s, a = [], [], 1 for _ in range(n): now = int(input()) if s and s[-1] == now: s.pop() result.append("-") else: for i in range(a, now + 1): ..
[백준] 1874. 스택 수열 풀이 / Python, JavaScript1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 작성 코드 (.py) import sys input = sys.stdin.readline n = int(input()) result, s, a = [], [], 1 for _ in range(n): now = int(input()) if s and s[-1] == now: s.pop() result.append("-") else: for i in range(a, now + 1): ..
2023.04.16 -
2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 작성 코드 (.py) import sys sys.stdin = open("input.txt", "r") # 제거 input = sys.stdin.readline def solution(n): if n == 3: return print(1) elif n == 4: return print(-1) table = [-1] * (n + 1) table[3], table[5] = 1, 1 for i in range(6, n + 1): if table[i - 3] == -1 and t..
[백준] 2839. 설탕배달 풀이 / Python, JavaScript2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 작성 코드 (.py) import sys sys.stdin = open("input.txt", "r") # 제거 input = sys.stdin.readline def solution(n): if n == 3: return print(1) elif n == 4: return print(-1) table = [-1] * (n + 1) table[3], table[5] = 1, 1 for i in range(6, n + 1): if table[i - 3] == -1 and t..
2023.04.16 -
18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 작성 코드 (.py) import sys sys.stdin = open("input.txt", "r") # 제거 n = int(input()) arr = list(map(int, sys.stdin.readline().split())) table, cnt = {}, -1 for i, v in enumerate(sorted(arr)): if v not in table: cnt += 1 table[v] = cnt for..
[백준] 18870. 좌표 압축 / Python, JavaScript18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 작성 코드 (.py) import sys sys.stdin = open("input.txt", "r") # 제거 n = int(input()) arr = list(map(int, sys.stdin.readline().split())) table, cnt = {}, -1 for i, v in enumerate(sorted(arr)): if v not in table: cnt += 1 table[v] = cnt for..
2023.04.16