정화 코딩

꾸준히 문제 풀기 - 9월 4주차 본문

PS

꾸준히 문제 풀기 - 9월 4주차

jungh150c 2023. 9. 19. 20:36

9/18. 균형잡힌 세상 (백준 4949번)

 

https://www.acmicpc.net/problem/4949

 

#python

from sys import stdin

class Stack :
    def __init__(self) :
        self.items = []
    
    def push(self, item) :
        self.items.append(item)

    def pop(self) :
        if not self.isEmpty() :
            return self.items.pop()
        else :
            return -1
    
    def peek(self) :
        if not self.isEmpty() :
            return self.items[-1]
        else :
            return -1

    def isEmpty(self) :
        return not self.items

    def size(self) :
        return len(self.items)
    
    def clear(self) :
        self.items = []

while True:
    stk = Stack()
    isVPS = True
    str = stdin.readline()

    if str == ".\n":
        break

    for i in range(0, len(str)):
        if str[i] == "[":
            stk.push(1)
        elif str[i] == "]":
            if stk.peek() == 1:
                stk.pop()
            else:
                isVPS = False
        elif str[i] == "(":
            stk.push(2)
        elif str[i] == ")":
            if stk.peek() == 2:
                stk.pop()
            else:
                isVPS = False
    
    if stk.size() != 0:
        isVPS = False
    
    if isVPS:
        print("yes")
    else:
        print("no")

 

역시나 스택 문제. (정답)

 


 

9/19. 좌표 정렬하기 2 (백준 11651번)

 

https://www.acmicpc.net/problem/11651

 

#python

from sys import stdin

n = int(stdin.readline())
data = []

for i in range(0, n):
    a, b = map(int, stdin.readline().split())
    data.append([a, b])

data.sort(key = lambda x:(x[1], x[0]))

for i in range(0, n):
    print(data[i][0], data[i][1])

 

저번에 풀었던 좌표 정렬하기 문제의 시리즈 문제. 역시 key값을 이용한 정렬 문제였다. (정답)

 

'PS' 카테고리의 다른 글

꾸준히 문제 풀기 - 2월 말  (0) 2024.02.20
꾸준히 문제 풀기 - 1월, 2월  (1) 2024.01.15
꾸준히 문제 풀기 - 9월 3주차  (0) 2023.09.18
EDOC 코딩테스트  (1) 2023.09.04
꾸준히 문제 풀기 - 9월 1, 2주차  (0) 2023.09.02
Comments