오답노트 - 잃어버린 괄호
입력을 받는데서 조금 헤맷지만 이후로는 쉽게 풀렸다.
CODE
import sys
read=sys.stdin.readline
tmp=read().split("-")
for i in range(len(tmp)):
tmp[i]=tmp[i].split("+")
for i in range(len(tmp)):
sum=0
for j in range(len(tmp[i])):
sum+=int(tmp[i][j])
tmp[i]=sum
answer=tmp[0]
for i in range(1,len(tmp)):
answer-=tmp[i]
print(answer)
1로 만들기 2
1로 만들기를 풀면서 고통받았던 기억이 새록새록 떠올랐던 문제였다.
CODE
import sys
read=sys.stdin.readline
n=int(read())
dp=list([-1,-1] for _ in range(n+1))
dp[1]=[0,0]
for i in range(2,n+1):
dp[i]=[dp[i-1][0]+1,i-1]
if i%2==0:
if dp[i][0]>dp[i//2][0]: dp[i]=[dp[i//2][0]+1,i//2]
if i%3==0:
if dp[i][0]>dp[i//3][0]: dp[i]=[dp[i//3][0]+1,i//3]
a,b=dp[-1][0],dp[-1][1]
print(dp[-1][0])
print(n,end=' ')
while a!=0:
print(b,end=' ')
a,b=dp[b][0],dp[b][1]
풀어야 할 문제
- 스타트 택시
- 미네랄
- 회전 초밥
- 아기 상어
- 전깃줄 -2
- 치즈