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
✔️ 출력이 숫자들의 나열일 때 출력하는 방법으로는
- answer의 타입을 String으로 해서
System.out.print(T.solution(n));
한다. - answer의 타입을 Array로 한 다음 for문으로 array를 돌면서 값을 각각 출력한다.
- 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.