본문 바로가기
카테고리 없음

1부터 8까지 차례대로 입력되면 ascending 8부터 1까지 차례대로 입력되면 descending 둘다 아니라면 mixed를 출력하시오

by Son 2021. 5. 7.

예제 입력 : 1 2 3 4 5 6 7 8

출력 ascending

예제 입력 : 8 7 6 5 4 3 2 1

출력 descending

예제 입력 : 8 6 5 7 2 1 3 4

출력 mixed

 

백준 온라인 저지 음계 (2920)

 

package _29_scale;

 

import java.util.Scanner;

 

public class Main{

 

public static void distinc(int input[]){

 

boolean aFlag = true;

boolean bFlag = true;

 

if(input[0] != 1){  //첫 값이 1이므로 1이 아니면 무조건 false

   aFlag = false;

 

}

for (int i = 1; i<input.length-1; i++){ //length-1을 하는 이유는 input[i+1]에서 length 값을 그대로 주면 값의 범위밖

   if(input[i] - input[i+1] != -1){  //오름차순에서 1번째 수에서 두번째 수를 뺄때 -1이 아니면 무조건 false

      aFlag = false;

        break;

    }

  }

 

if(input[0] != 8){  //첫 값이 1이므로 1이 아니면 무조건 false

   bFlag = false;

 

}

for (int i = 1; i<input.length-1; i++){ //length-1을 하는 이유는 input[i+1]에서 length 값을 그대로 주면 값의 범위밖

   if(input[i] - input[i+1] != 1){  //오름차순에서 1번째 수에서 두번째 수를 뺄때 -1이 아니면 무조건 false

      bFlag = false;

        break;

    }

  }

if(aFlag)

 System.out.println("ascending");

else if(bFlag)

 System.out.println("descending");

else

 System.out.println("mixed");

 

}

 

 

public static void main(String[] args){

   Scanner scan = new Scanner(System.in);

int input [] = new int[8];

 

for (int i =0; i < input.length; i++){

     input[i] = scan.nextInt(); // nextInt() 정수를 입력받을때

     }

 

  }

   distinc(input); //input안에 중복되어있는 값 제외

 

}