[python 파이썬] 백준 9625번 BABBA
2021. 2. 2. 00:27ㆍAlgorithm/BOJ
반응형
풀이1 - 시간초과
문제 읽고 어떤 유형인지 파악안하고 생각나는 대로 풀었다.
제출해보니 시간초과가 나왔고 유형으로 접근해봐야겠다는 생각이 들었다.
#9625번 BABBA
tmp='A'
k= int(input())
for i in range(k):
new_tmp=''
for j in tmp:
if j=='A':
new_tmp+='B'
elif j=='B':
new_tmp+='BA'
tmp=new_tmp
cnt_A=0
cnt_B=0
for i in new_tmp:
if i=='A':
cnt_A+=1
elif i =='B':
cnt_B+=1
print(cnt_A,cnt_B)
풀이2 - 정답
이 문제는 피보나치, DP로 구현해야함을 깨달았다.
k = int(input())
fib =[0]*(k+1)
fib[1]=1
for i in range(2,k+1):
fib[i]=fib[i-1]+fib[i-2]
print(fib[k-1],fib[k])
- 작은 것에서 큰 것으로 변하는 걸 봐서 DP or 피보나치임을 눈치채기
- 문자열로 접근하지않고 문자의 개수로 접근하기
반응형
'Algorithm > BOJ' 카테고리의 다른 글
[python 파이썬] 백준 1463번 1로 만들기 (0) | 2021.02.02 |
---|---|
[python 파이썬] 백준 1912번 연속합 (0) | 2021.02.02 |
[python 파이썬] 백준 9507번 Generations of Tribbles (0) | 2021.02.02 |
[text] 백준 15641번 (0) | 2021.01.30 |
[python 파이썬] 백준 3079번 입국심사 (0) | 2021.01.29 |