
기본 틀 :
public class Solution {
public int solution(int n) {
int answer = 0;
return answer;
}
}
문제를 잘 보면
0 + 1 = 1
1 + 1 = 2
1 + 2 = 3
2 + 3 = 5
0 + 1 = 1
1 + 1 = 2
1 + 2 = 3
2 + 3 = 5
이런 식으로 해당 값이 재사용 되는 것을 볼 수 있다.
그래서, 3개의 변수를 선언하고 +와 %1234567을 반복 수행해준다.
마지막에 %1234567을 하지 않고 + 연산을 수행할 때 하는 이유는
int.MaxValue인 2,147,483,647을 초과하는 숫자가 결과로 나올 수 있기 때문이다.
using System;
public class Solution {
public int solution(int n)
{
int zero = 0, one = 1, sum = 1;
for(int i = 2; i <= n; i++)
{
sum = (one + zero) % 1234567;
zero = one;
one = sum;
}
return sum;
}
}

'문제 풀기 > C#' 카테고리의 다른 글
80. 예상 대진 (0) | 2025.02.28 |
---|---|
79. 카펫 (0) | 2025.02.26 |
77. 이진 변환 반복하기 (Convert.int32, Convert.ToString) (0) | 2025.02.25 |
76. JadenCase 문자열 만들기 (0) | 2025.02.25 |
75. 최댓값과 최솟값 (0) | 2025.02.24 |