[백준] 9095 문제 in 파이썬
백준 9095번 : 1, 2, 3 더하기
https://www.acmicpc.net/problem/9095
문제
풀이
전에 풀었던 문제인 줄 모르고 다시 풀었는데 신기하게 두 문제 각각 다르게 풀었다. 😆
그래서 두 문제 풀이 모두 기록하려고 한다.
풀이1
기본 로직
- 이 문제는 기본적으로 피보나치 수열을 사용하는 문제이다.
- case 문을 사용하여 1, 2, 3번째를 제외하고는 피보나치 수열에서 n번째 열에 알맞은 값을 리턴한다.
case(n-1) + case(n-2) + case(n-3)
풀이2
기본 로직
- 이번엔 for문을 사용하여 입력 받을 수 있는 경우의 수인 10개를 한 배열에 모두 저장한다.
- 이후 n 번째 배열 요소를 출력하는 식으로 값을 반환한다.
두 풀이 시간 비교
- 다행히 이번에 푼 코드의 실행시간이 더 적게 나왔다. 다양한 방법으로 문제에 접근할 수 있게 되어서 다행이라고 생각한다. ✨
- n이 10까지로 제한되지 않았더라면 아마 풀이2의 시간이 훨씬 길어졌을 수도 있다고 생각한다. 그런 면에서 풀이1이 활용도는 더 높은 것 같다.
- 풀이2가 시간이 덜 걸린 이유는 n의 개수 제한 덕이라고 봐도 무방할 것 같다.
완성된 코드
- 순서대로 풀이1, 풀이2이다.
댓글남기기