알고리즘

알고리즘/Java

[python] 백준 제로(10773)

알고리즘 python 백준 제로(10773) 1. 문제 https://www.acmicpc.net/problem/10773 2. 풀이 for문을 돌려 n이 0이 아닐 때 list에 숫자를 넣어주고, n이 0일 때 앞에 숫자를 pop해준다 그리고 list에 남은 숫자들의 합을 구해 print해준다. n = int(input()) list = [] for i in range(n): num = int(input()) if num == 0: list.pop() else: list.append(num) print(sum(list)) [느낀점] 스택문제로 어렵운 문제는 아니었지만 다른 문제들 같이 예시를 한꺼번에 입력하는 줄알고 헷갈렸던 부분이 있었다.

알고리즘/Java

[python] 백준 균형잡힌 세상(4949)

알고리즘 python 백준 균형잡힌 세상(4949) 1. 문제 https://www.acmicpc.net/problem/4949 2. 풀이 if문으로 '['나 '('가 나오늘 stack list에 추가한다 i가 ']'이나 ')'가 나올 때 stack의 길이가 0이 아니고, stack의 top이 '['나 '('가 나오면 stack에서 pop을 해준다 아니면 break 이렇게 스택의 길이가 0이면 'yes'를 출력, 0이 아니면 'no'를 출력 while True: a = input() stack = [] if a == ".": break for i in a: if i == "[" or i == "(": stack.append(i) elif i == "]": if len(stack) != 0 and stac..

알고리즘/Java

[python] 백준 괄호(9012)

알고리즘 python 백준 괄호(9012) 1. 문제 https://www.acmicpc.net/problem/9012 2. 풀이 for문을 돌려서 "("가 나올 때 stack list에 추가해준다 "("가 아닐 때는 stack에서 top을 pop해주는데 스택이 비어있을 때는 "NO"를 출력해준다 for문을 돌고 stack이 비었을 때는 "YES"를 출력, stack이 차있으면 괄호가 짝이 맞지 않은 것으로 "NO"를 출력한다 t = int(input()) # print(t) for i in range(t): stack = [] a = input() for j in a: if j == "(": stack.append(j) else: if stack: # stack이 차있을 때 stack.pop() els..

알고리즘/Java

[python] 백준 스택(10828)

알고리즘 python 백준 스택(10828) 1. 문제 https://www.acmicpc.net/problem/10828 2. 풀이 각각 push, pop, size, enpty, top의 조건에 맞는 함수를 만들어 for문을 돌려 값을 구했다. for문에서 command를 splitg하여 사용한 이유는 입력값 중 push는 'push 1'의 형태로 입력되기 때문이다. import sys input = sys.stdin.readline n = int(input()) stack = [] def push(x): stack.append(x) def pop(): if len(stack) == 0: print(-1) else: print(stack.pop()) def size(): print(len(stack)..

유리코딩
'알고리즘' 카테고리의 글 목록