[백준] 14888번 - 연산자 끼워넣기 풀이 시간: 60분 이내 문제의 아이디어를 떠올리고 구현하는 것 자체는 30분 정도 걸렸는데 반례를 찾아 오류를 고치느라 시간이 오래 걸렸다. 추후 복습이 필요한 문제! N개의 수와 N - 1 개의 연산자가 주어졌을 때, 만들 수 있는 식의 최댓값과 최솟값을 구하는 문제로 DFS로 풀거나 permutations 라이브러리를 이용하면 푸는 방법 2가지가 있다. 처음에 입력받은 +, -, *, / 의 개수(cnt)로부터 연산자 리스트(operator)를 만드는 것이 중요하다. +, -, *, / 는 차례로 0, 1, 2, 3 이라고 생각하고 해당 개수에 따라 값을 넣어 리스트를 만든다. + - * / 0 1 2 3 예를 들어, 입력받은 연산자 개수가 0 1 0 2 이..
[백준] 1436번 - 영화감독 숌 풀이 시간: 10분 이내 1) 문제 해결 아이디어 쉽게 아이디어를 떠올릴 수 있었던 문제였다. 666이 들어가는 숫자 중 작은 순서대로 N번째인 수를 찾는 문제로 모든 경우의 수를 확인해보아야 하는 완전 탐색 문제이다. 가장 작은 종말 숫자인 666부터 값을 1씩 증가시켜가면서 n번째로 작은 종말 숫자를 찾으면 된다. 조금이라도 탐색을 적게하려면 1이 아니라 최소 숫자인 666부터 시작해야한다. 2) 소스코드 n = int(input()) cnt = 0 # 종말 숫자 개수 num = 666 # 가장 작은 종말수 while True: # 666이 있으면 개수 세기 if '666' in str(num): cnt += 1 # n번째로 작은 종말수이면 출력 종료 if cnt ..