Post

Array_피보나치 수열

✅ 피보나치 수열: 앞 두 수를 합하여 다음 수가 되는 수열

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Main {
    public int[] solution(int n){

        int[] answer= new int[n];
            answer[0] = 1;
            answer[1] = 1;

        for(int i=2; i<n; i++){
            answer[i] = answer[i-1] +  answer[i-2];
        }
        return answer;
}
    public static void main(String[] args) {
        Main T = new Main();
        Scanner sc= new Scanner(System.in);
        int n = sc.nextInt();
        for(int x: T.solution(n)){
            System.out.print(x + " ");
        }
    }
}

//⭐️input:
//10
//⭐️output:
//1 1 2 3 5 8 13 21 34 55

🔵 ThingsILearned

✔️ 출력이 숫자들의 나열일 때 출력하는 방법으로는

  1. answer의 타입을 String으로 해서 System.out.print(T.solution(n));한다.
  2. answer의 타입을 Array로 한 다음 for문으로 array를 돌면서 값을 각각 출력한다.
  3. answer의 타입을 String이었더라도 만약 출력 형태가 char이라면 T.solution(n, arrayA, arrayB).toCharArray()해서 배열을 for문으로 돌며 출력한다.

🟢 String answer 로 풀기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class Main {
    public String solution(int n){
        String answer= "";
        int[] fibonacci= new int[n];

        for(int i=0; i<n; i++){
            fibonacci[0] = 1;
            fibonacci[1] = 1;

            if(i==0){
                answer += 1 + " ";

            }else if(i==1){
                answer +=1+ " ";

            }else{
                fibonacci[i] = fibonacci[i-1] +  fibonacci[i-2];
                answer += fibonacci[i] + " ";
            }

        }

        return answer;
}
    public static void main(String[] args) {
        Main T = new Main();
        Scanner sc= new Scanner(System.in);
        int n = sc.nextInt();
        System.out.print(T.solution(n));


    }
}

🟢 배열 쓰지 말고 변수 3개로 풀기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Main {
    public void solution(int n){
        int a=1;
        int b=1;
        int c;
        System.out.print(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) {
        Main T = new Main();
        Scanner sc= new Scanner(System.in);
        int n = sc.nextInt();
        T.solution(n);

    }
}


This post is licensed under CC BY 4.0 by the author.