본문 바로가기

알고리즘/Jungol

[Java] 정올기초다지기 배열2-자가진단03

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
package 배열2.자가진단03;
 
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
 
        int [] arr = new int [100];
        int num = 0;
        
        Scanner sc  = new Scanner(System.in);
        
        num = sc.nextInt();
        arr[0= 100;
        arr[1= num;
        
        for(int i=2;i<arr.length;i++) {
            arr[i] = arr[i-2- arr[i-1];
            if(arr[i] < 0) {
                for(int j =0;j<i+1;j++) {
                    System.out.print(arr[j]+" ");
                }
                break;
            }
        }
    }
}
 
 
 

 

> 한개의 정수를 입력받으며, 0번째방은 100 , 1번째방은 입력받은 값으로 초기화 시켜줍니다.

   이후 값을 입력받을때는 0,1번방은 초기화되있기때문에 int i=2의 값을 주어 2번방부터 입력받은 값으로 채워나갑니     다.

   전전항에서 전항을 빼줘야하기때문에 arr[i-2](전전항) - arr[i-1]을 해줍니다.

   이렇게 계산을 하면서 음수가 나올때, 즉 0보다 작을때 if문을 사용하여 출력해주는 for문을 사용하고 for문이 종료되     면

 

   break; 를 사용하여 상위 for문을 종료시켜줍니다.