백준 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) ((( () () ))) 를..

🤖 알고리즘 2023.01.29

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: ..

🤖 알고리즘 2023.01.16

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..

🤖 알고리즘 2022.10.07
반응형