백준 3

baekjoon. 쇠막대기 (10799) [python][Silver II]

문제 링크 : https://www.acmicpc.net/problem/10799 문제 풀이 sticks = input() stack = [] count = 0 for i in range(len(sticks)): cur = sticks[i] # ( 만나면 stack push if (cur == '('): stack.append(cur) # 최상단이 (이고 그 다음이) 이면 size 추가 # ) 만나면 1 추가 elif (cur == ')'): stack.pop() if (sticks[i - 1] == '('): count += len(stack) else: count = count + 1 # print(i, ' : ', cur, ' - ', count) print(count) ((( () () ))) 를..

baekjoon. 스택 (10828) [python][Silver IV]

문제 링크 : https://www.acmicpc.net/problem/10828 문제풀이 import sys stack = [] # stack = array : 복잡하게 클래스로 만들 필요 없다 def push(data): stack.append(data) def pop(): if (empty()): print(-1) else: lastIndex = len(stack) -1 print(stack.pop(lastIndex)) # remove (value), pop (index) def size(): print(len(stack)) def empty(): if len(stack) == 0: return 1 else: return 0 def top(): if (empty()): print(-1) else: ..

baekjoon. 파티

문제집 : https://www.acmicpc.net/workbook/view/8708 풀이 : https://www.acmicpc.net/problem/1238 문제에 정말 도움되었던 블로그 https://loosie.tistory.com/209 1. 플로이드 와샬로 풀이 경로별로 최단 거리를 저장해서 최종적으로 비교하는 풀이이다. 여기서 중요했던 건은 초기에 세팅할때 값을 지정하는 것이었는데, Integer.MAX_VALUE로 세팅하면 값을 비교하는 과정에서 오버플로우가 발생하고 문제에 따라 거리 최대값인 100으로 세팅하면 경로를 합치면서 100을 초과하여 의도했던 결과가 돌아가지 않았다는 사실이었다. 결국 적당한 값으로 세팅해서 문제를 풀었다. import java.io.BufferedReader..

반응형