목록CodingTest/Python (74)
기록방
👉 문제링크 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 🔸 문제 분석 🔸 숫자를 입력받다가 0이 입력되면 최근 값을 제외한다. 입력받은 숫자의 총 합을 출력한다. 🔸 코드 🔸 import sys from collections import deque input = sys.stdin.readline K = int(input().strip()) d = deque() for i in range(K): n = int(input().strip()) if n == 0: d.pop() ..
👉 문제링크 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net 🔸 문제 분석 🔸 문자열을 처리와 스택 활용이 합쳐져있는 문제이다. 🔸 코드 🔸 import sys input = sys.stdin.readline while(True): ss = input().rstrip() if ss == ".": break stack = [] check = False for c in ss: if c == '(' or c == '[': stack.append(c) elif c == ')': if len(st..
👉 문제링크 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 🔸 문제 분석 🔸 두 가지 기준으로 정렬하는 문제이다. 🔸 코드 🔸 N = int(input()) arr = [] for i in range(N): arr.append(list(map(int,input().split()))) arr.sort(key= lambda x: (x[1],x[0])) for i in arr: print(i[0], i[1]) 🔸 코드 해석 🔸 sort함수에서 key값을 조정..
👉 문제링크 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 🔸 문제 분석 🔸 각 입력마다 덩치 등수를 출력한다. 덩치 등수는 '자기보다 덩치가 큰 인원의 수 + 1' 등이다. 덩치는 몸무게, 키 모두 커야 큰 것이다. 선택 정렬과 같은 방식인 것 같다. 🔸 코드 🔸 N = int(input()) arr = [] for i in range(N): arr.append(list(map(int,input().split()))) answer = [1] * len(arr) for i in range(len..
👉 문제링크 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 🔸 문제 분석 🔸 괄호의 쌍을 확인하는 전형적인 스택 문제이다. 🔸 코드 🔸 T = int(input()) for i in range(T): S = input() arr = S[0] flag = False for j in S[1:]: if j == '(': arr += j else: if len(arr) == 0 or arr[-1] == ')': flag = True break else : arr = arr[:-1] i..