목록CodingTest (430)
기록방
👉 문제링크 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 🔸 문제 분석 🔸 front, back 을 지원하는 queue를 구현하는 문제이다. 🔸 코드 🔸 import sys from collections import deque input = sys.stdin.readline print = sys.stdout.write que = deque() for i in range(int(input())): order = input().rstrip() if order[:4] == "push": ..
👉 문제링크 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net 🔸 문제 분석 🔸 후위 표기식을 구현하는 문제이다. 후위 표기식은 연산자 앞의 두 수에 연산자를 적용하는 계산법이다. 🔸 코드 🔸 N = int(input()) order = list(input()) num = [] for i in range(N): num.append(int(input())) stack = [] for i in order: if i >= 'A' and i
👉 문제링크 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net 🔸 문제 분석 🔸 보는 방향에서 봤을때 보이는 블럭의 수를 출력한다. 스택을 사용해서 가려지는 블록을 제거하면 되는 문제이다. 🔸 코드 🔸 import sys input = sys.stdin.readline N = int(input()) arr = [0] for i in range(N): h = int(input()) while True: if len(arr) == 0: arr.append(h) break elif arr[-1]
👉 문제링크 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 🔸 문제 분석 🔸 큐를 구현하는 문제이다. 🔸 코드 🔸 import sys from collections import deque input = sys.stdin.readline print = sys.stdout.write N = int(input().strip()) q = deque() for i in range(N): order = input().strip() if order[:4] == "push": q.append(order[5:..
👉 문제링크 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 🔸 문제 분석 🔸 값 목록을 입력받고, 입력 받은 값이 몇 번 호출됐는지 출력한다. 목록으로 입력받지 않은 것들은 0으로 출력한다. 🔸 코드 🔸 import sys input = sys.stdin.readline print = sys.stdout.write dic = {} int(input().strip()) arr = input().strip().split() for i in arr: if i in dic: dic[..