public class C16 {
public static int[] fibonacci(int n) {
int[] answer = new int[n];
answer[0] = 1;
answer[1] = 1;
for(int i=2;i<n;i++) {
answer[i] = answer[i-2] + answer[i-1];
}
return answer;
}
public void solution(int n) {
int a = 1, b = 1, c;
System.out.println(a + " " + b + " ");
for(int i=2;i<n;i++) {
c = a+b;
System.out.print(c+" ");
a = b;
b = c;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int x : fibonacci(n)) System.out.print(x+" ");
sc.close();
}
}
1번째 방법 풀이
1. n을 입력 받아서 n의 크기인 배열을 생성하고
2. 배열[0]과 배열[1]에는 1을 넣어준다.
3. for문 기준점은 2부터 돌아가게 설정
4. 배열[i]=배열[i-2]+배열[i-1] 이런식으로 설정
2번째 방법 풀이
1. 배열을 사용하지 않고 a, b, c만을 이용
2. a와 b를 출력하고
3. 반복문을 통해 c 를 구한 후 출력하고
4. a 에 b를 대입, b 에 c를 대입하면서 반복문을 수행한다.
'코딩테스트 문제풀이' 카테고리의 다른 글
뒤집은 소수 (0) | 2022.04.04 |
---|---|
소수(에라토스테네스 체) (0) | 2022.04.04 |
가위 바위 보 (0) | 2022.04.04 |
보이는 학생 (0) | 2022.04.04 |
큰 수 출력하기 (0) | 2022.04.04 |