https://www.acmicpc.net/problem/9625
# 메모리 초과 코드
num = int(input())
result = 'A'
for _ in range(num):
result = result.replace('B','BC')
result = result.replace('A','B')
result = result.replace('C','A')
print(result.count('A'), end = " ")
print(result.count('B'))
# 맞는 코드
num = int(input())
a , b = 1 , 0
for _ in range(0,num):
a , b = b , a+b
print(a,b)
메모리 초과 :
B -> BA 로 바뀌고 나서 A -> B 일 때, 앞에서 바뀐 A의 값이 다시 B로 바뀔 수 있어서 A대신 C로 입력 받은 뒤 마지막에 다시 A로 바꿔주는 코드였다. 근데 아마 replace 부분에서 메모리 초과 뜬게 아닌가 싶다...ㅜ_ㅜ
맞는 코드 :
처음 입력은 A이므로 A는 1 B는 0으로 설정한다.
for문을 이용해 a의 값은 b로 설정, b의 값은 a+b의 값으로 설정한다.