티스토리 뷰

백준

백준 9095 문제풀이 [python]

ys.k 2023. 6. 3. 10:44

포스팅에 앞서 내용이 틀릴 수 있습니다.

해당 부분 지적 감사히 받습니다.

 

 

외출 전 준비하고 시간이 조금 남아, 풀어놨던 문제를 마저 포스팅한다.

 

솔직히 이 문제를 보고 DP를 생각하지 못한 건, 나의 문제라고 생각한다.

 

이전번 DP문제를 접했을 땐, 개념을 몰라 풀지 못했다.

 

지금은 배웠지만 생각자체를 못했다.

 

나의 부족함을 다시 느낀다.

 

나는 그래도 나름 패턴을 찾아야겠다고 생각했다.

 

가방 속 먼지 쌓인 펜과 종이를 꺼내 이것저것 써봤다.

 

패턴을 못찾았다.

 

또다시 구글을 켰다.

 

백준 9095를 검색창에 입력 후 엔터키를 눌렀다.

 

마우스 스크롤을 내리며, 빠르게 내려가는 블로그 제목 사이에서 DP라는 글자가 어렴풋 보였을 때, 반사적으로 페이지를 닫았다.

 

그때 느낀 감정은 허탈함이었다.

 

외출시간에 쫓겨 마음에 여유가 없다.

 

코드

import sys as s
a = int(s.stdin.readline())

array= [] * a

for i in range(a):
    array.append(int(input()))

array2=[1,2,4,7] * max(array)

for i in range(3,max(array)):
    array2[i] = array2[i-3] + array2[i-2] + array2[i-1]

for i in array :
    print(array2[i-1])

 

 

배운 점

1. 솔직히 나는 아직 수학적으로 이해를 못 했다. 단순한 수의 나열에서 점화식 규칙만 찾으면 그게 해답이 되는가?

   추후에 더 자세한 내용을 추가하겠다.

   ㄴ 수학적 귀납법 : 증명과정이 타당하다면 결론 또한 반드시 타당하다.

   ㄴ 고등학교때 배운건데.. 수학을 게을리하여 늦게나마 배운다.

 

 

2. sys 라이브러리에서 sys.stdin.readline() 함수를 사용하면, \n까지 읽어오더라..

 

'백준' 카테고리의 다른 글

백준 4673 문제풀이 [python]  (3) 2023.06.04
백준 4344 문제풀이 [python]  (0) 2023.06.03
백준 10809 문제풀이 [python]  (0) 2023.06.03
백준 10828 문제풀이 [python]  (0) 2023.06.02
백준 1546 문제풀이 [python]  (0) 2023.06.02
댓글