본문 바로가기

STUDY/코딩테스트

백준 2920번 음계 [JAVA]

배열문제로 난이도는 하에 속하는 문제이다.

먼저 공백을 기준으로 입력된 값을 잘라 배열에 넣어준 후 배열 앞뒤의 값을 비교한다. 

오름차순과 내림차순 변수를 각각 true로 설정하고 배열 안의 값을 비교했을 때, 오름차순이나 내림차순이 아니면 해당 변수를  false로 변환한다.

 

값을 전부 비교 후 변수의 값을 확인해서 답을 출력한다.

 

public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		
		String input = scan.nextLine();
		String[] inputarray = input.split("\\s");
						
		boolean ascending = true;
		boolean descending = true;
			
		for(int i=0; i<inputarray.length-1; i++) 
		{

			if(Integer.parseInt(inputarray[i]) < Integer.parseInt(inputarray[i+1])) 
			{
				descending = false;				
			}
			
			if(Integer.parseInt(inputarray[i]) > Integer.parseInt(inputarray[i+1])) 
			{
				ascending = false;					
			}			
		}
		
		if(ascending == true && descending == false) 
		{
			System.out.println("ascending");			
		}else if(ascending == false && descending == true) 
		{
			
			System.out.println("descending");
		}else 
		{
			System.out.println("mixed");			
		}
		
	}

 

 

 

반응형