백준 4889: 안정적인 문자열 Silver I 문제링크 4889번: 안정적인 문자열 입력은 여러 개의 데이터 세트로 이루어져 있다. 각 데이터 세트는 한 줄로 이루어져 있다. 줄에는 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 문자열의 길이가 2000을 넘는 경우 www.acmicpc.net 나의 접근 '{' 인 경우에는 stack에 추가해준다. '}' 인 경우에는 stack이 비어있을 경우, '{'로 바꾸어서 stack에 추가해준 후 count를 추가한다. stack이 비어있지 않을 경우, 가장 상위의 원소를 pop 해준다. stack에 남아있는 원소들의 개수를 2로 나누어 주면 해당 스택이 안정적인 문자열이 되기 위해 필요한 작업의 최소 수를 알아낼 수 있다. 최종적으로 len(stac..
백준 1946: 신입사원 Silver I 문제링크 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 나의 접근 입력받는 서류 순위 점수, 면접 점수에 대해서 서류 순위 점수를 기준으로 오름차순으로 정렬한다. 정렬된 점수 배열에 대해서 탐색을 진행한다. 서류 순위 점수가 높은 -> 낮은 순서대로 탐색을 진행하며 면접 순위에 대해서도 최솟값을 비교해준다. 면접자의 면접 순위가 그 전에 저장된 가장 높은 순위보다 더 높을 시, minrecord를 재설정해주고 count를 늘려준다. import ..
백준 10844 쉬운 계단 수 Silver I 문제링크 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 나의 접근 DFS 로직으로 가장 뒷자리의 숫자에 +1, -1 한 경우에 대해 깊이우선 탐색을 진행해주고 N의 길이까지 탐색을 완료하면 count를 더 해주는 식으로 구현해봤는데.. 시간초과가 났다. 아래는 해당 코드다. import sys def dfs(startnum, idx): global count change = [1, -1] if idx == N - 1: count += 1 return count for calc in range(2): newnum = startnum + change[calc] #2 if 0