오답노트
- 메모리 초과가 났다.
- 덧셈 결과만 저장해도 된다. 하지만 난 수십개의 문자열을 계속 추가 저장하다가 마지막에 개수를 세려고 했음.
궁금한 내용
- 숫자로 변환해서 저장하면, 덧셈 결과를 저장하지 않고 계속 추가 저장해도 메모리 초과는 나지 않는 것 같음. 문자형이 정수형에 비해 얼마나 많은 메모리를 가지고 있는가?
흐름
- A 개수와 B 개수를 리스트에 저장
- A는 다음 회차에서 B가 됨. -> B의 개수는 현재 B의 개수 + 이전 회차의 A 개수
- B는 다음 회차에서 A, B 가 됨. -> A의 개수는 이전회차의 B의 개수
코드(초기 답안, 메모리 초과)
k = int(input())
init = 'A'
for i in range(k):
init = init.replace('B','C')
init = init.replace('A','B')
init = init.replace('C','BA')
print(init.count('A'),init.count('B'))
코드(답안, 덧셈 결과만 저장하는 방식)
k = int(input())
init = [1,0]
for i in range(k):
temp_0 = init[1]
init[1] = init[1] + init[0]
init[0] = temp_0
print(init[0],init[1])