BOJ

Problem Solving/BOJ

[BOJ] 괄호의 값

문제 🥈[실버2] 2504 - 괄호의 값 풀이 스택을 이용하면 괄호의 값 문제를 간단하게 구현할 수 있다. 알고리즘의 기본적인 아이디어는 다음과 같다 . 빈 스택을 하나 선언한다. '(' 혹은 '[' 가 들어오는 경우에는 스택에 push 한다. ')' 이 들어올 경우 '('이 나올 때 까지 pop을 한다. ']' 이 들어올 경우 '['이 나올 때 까지 pop을 한다. pop을 하면서 내부의 숫자를 연산한다. 코드 # 괄호의 값 [Silver 2] import sys bracket = str(sys.stdin.readline().strip()) bracket = list(bracket) stack = [] while(len(bracket)>0): a = bracket.pop(0) if(a == '(' or..

Problem Solving/BOJ

[BOJ] 연산자 끼워 넣기

문제 🥈[실버1] 14888 - 연산자 끼워넣기 풀이 문제를 읽어보면 숫자의 최대 개수가 11개임을 알 수 있다. 파이썬으로 알고리즘을 풀 경우 대부분 연산이 1억 번 내외로 일어나면 통과이다. 만약 최대 숫자 개수에서 모든 경우의 수를 계산한다고 단순하게 생각했을 때, 총 10^4개의 경우의 수가 생긴다. 이런 경우 알고리즘을 짤 때, 전체 탐색을 이용해서 알고리즘을 짜도 무관하다. 전체 탐색으로 알고리즘을 구현할 경우에, 재귀 함수를 이용해서 간단하게 구현 할 수 있다. 메모리를 효율 적으로 사용할 수 있는 방법이 있겠지만, 이번에 알고리즘을 짤 때는 미처 고려하지 못했다.( 문제를 푸는 데는 지장은 없다. ) 아이디어는 다음과 같다. max와 min을 global 변수로 지정한다. 숫자를 담은 배열..

단은_
'BOJ' 태그의 글 목록