문제
피보나치 수열을 출력한다. 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다
출력되는 피보나치 수열의 개수를 입력하면 그 개수에 해당하는 피보나치 수열이 출력된다
입력예제
10
출력예제
1 1 2 3 5 8 13 21 34 55
💡 1. 나의 풀이 과정
생각보다 간단했다.
피보나치 수열의 수를 처음에 입력받고 피보나치 수열을 그 개수만큼 출력하면 되는 문제이다
int 를 일시적으로 저장해서 하면 되겠다. 정도로 생각했던것 같다.
solution 으로 넘겨준 int 를 이용해서
arr 객체를 생성하고
처음 숫자 1,1 을 저장할 int 변수와 arr[0], arr[1]에 1,1 을 저장해주고
for 문을 통해 2번째 index 부터 arr 값을 저장했다
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public int[] solution(int num) {
int[] answer=new int[num];
int temp1=1;
int temp2=1;
int temp3;
answer[0]=temp1;
answer[1]=temp2;
for(int i=2; i<num;i++) {
temp3=temp1+temp2;
answer[i]=temp3;
temp1=temp2;
temp2=temp3;
}
return answer;
}
public static void main(String[] args) throws NumberFormatException, IOException {
Main T = new Main();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine());
for (int x : T.solution(num)) {
System.out.print(x+" ");
}
}
}
💡 2. 강사님 풀이
강사님은 int를 저장할 변수를 따로 선언하지 않고 arr 내부에 index를 이용해서 더 쉽게 푸셨다.
배열을 사용하지 않고 구하는 방법.(바로 그때그때 출력하는 방식으로 solution for문 안에 출력문을 넣음)
코테 관련해서 많이 부담스러웠는데 강의를 통해 푸는 방법들을 배우니 이 시간이 즐겁습니다.
진짜 기능하나하나 다양한 방법으로 잘 가르쳐주십니다.
출처 : 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 대시보드 - 인프런 | 강의 (inflearn.com)
'알고리즘 > Java 코딩 테스트 준비' 카테고리의 다른 글
[Java] 점수 계산 (0) | 2023.02.03 |
---|---|
[Java] 뒤집은 소수 (0) | 2023.02.03 |
[Java] 가위바위보 문제 (0) | 2023.02.01 |
[Java] 보이는 학생(키 순서대로 세우기) (0) | 2023.01.31 |
[Java] 큰 수 출력하기. (0) | 2023.01.31 |
댓글