Algorithm (66) 썸네일형 리스트형 10799번 쇠막대기 / 스택 자료구조 : 스택n = input()stack = []count = 0for i in range(len(n)): #"(" 라면 스택에 추가 if n[i] == "(": stack.append(n) #")" 라면 스택에서 쌍을 이루는 "("를 제거 후, stack의 길이만큼 조각 추가 else: stack.pop() #바로 앞의 값이 "("라면 문자열의 끝이 아니므로 길이만큼 추가 if n[i-1] == "(": count += len(stack) #문자열의 끝 else: count += 1print(count) 이 문제는 처음에 보고 쇠막대기랑 레이저 사진때문에 머리가 .. 1931번 회의실 배정 / 그리디 문제한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다. 자료구조 : 그리디, 정렬n = int(input())meeting = []for _ in range(n): start, end = map(int, input().split()) meeting.append((start, end))#회의.. 이전 1 ··· 6 7 8 9 다음