본문 바로가기

알고리즘/Jungol

[JAVA] 정올기초다지기 배열1-형성평가04

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
35
36
37
package 배열1.형성평가04;
 
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
 
        int [] arr = new int [100];
        int num =0;
        int cnt =0;
        
        Scanner sc = new Scanner(System.in);
        
        for(int i=0;i<arr.length;i++) {
            num = sc.nextInt();
            if(num == -1) {
                if(cnt>3) {
                    for(int j=3;j>0;j--) {
                        System.out.print(arr[i-j]+" ");                                        
                    }
                    break;
                }
                else {
                    for(int k=0;k<cnt;k++) {
                        System.out.print(arr[k]+" ");
                    }
                    break;
                }
            }
            else {
                arr[i] = num;
                cnt++;
            }
        }
    }
}
 
 

> cnt라는 변수를 사용하여 입력받은 값이 3개이상인지 3개이하인지 확인하여, 

   문제에 맞게 3개 이하일시에는 그대로 출력해주는 else{ for문으로 값을 그대로 출력해주며,

 

> 3개 이상일시에는 arr[i-j]라는 값을 사용하여 i값에서 -3 , -2 , -1 을 한 배열의값들을 출력해줍니다.

   그렇게 된다면 문제에서 제시해준대로 마지막 3개의 값을 출력할수있습니다.