백준/problems 4

[스택] 9012 번 괄호

문제풀이 import sys n = int(sys.stdin.readline()) for i in range(n): stack=[] string = input() for j in string: if j == "(": stack.append(j) elif j == ")": if stack: stack.pop() else: print("NO") break else: if not stack: print("YES") else: print("NO") 문제해석 스택 문제이다!. 스택에 따라 조건을 걸어주고 stack에 일정조건( ' ) ' )이 없으면 break를 걸어주고 결과에 따라 YES OR NO 문자열 길이만큼 2중 for문을 사용한다.

백준/problems 2022.08.24

[Greedy알고리즘] 11047번 동전 0

문제풀이 n, k = map(int, input().split()) m = [] num = 0 for i in range(n): m.append(int(input())) for i in range(n - 1, -1, -1): if k == 0: break if m[i] > k: continue num += k // m[i] k %= m[i] print(num) N, K = map(int,input().split()) arr = [int(input()) for _ in range(N)] cnt, idx = 0, N-1 while K > 0: if arr[idx] > K: idx -= 1 else: cnt += K//arr[idx] K %= arr[idx] print(cnt) 해설 그리디 알고리즘을 사용한다..

백준/problems 2022.08.07