서비스 기획자 기록

[백준] 2920번 : 음계 - Java 본문

백준

[백준] 2920번 : 음계 - Java

주니5947 2025. 1. 7. 20:42

https://www.acmicpc.net/problem/2920


  • 문제


  • 풀이

- 각 숫자를 배열에 저장하고 배열값이 커지면 1 증가, 작아지면 1감소하는 test값을 만든다. test값이 7이면 완전 증가, -7이면 완전 감소, 아니면 섞인 순서이다.

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int arr[] = new int[8];
		int test = 0;
		
		for (int i = 0; i < 8; i++) {
			arr[i] = sc.nextInt();
		}
		
		for (int i = 0; i < 7; i++) {
			if (arr[i] < arr[i+1]) 
				test++;
			else 
				test--;
		}
		
		if (test == 7) 
			System.out.println("ascending");
		else if (test == -7) 
			System.out.println("descending");
		else
			System.out.println("mixed");
		
		
		sc.close();
	}
}

 

증가인지 감소인지 판별할 숫자 test를 선언하고 배열에 숫자를 차례대로 입력받는다.

for문으로 배열에서 다음 값이 증가하면 test++, 감소하면 test--를 적용한다.

test가 7이면 계속 증가한 것이므로 ascending

test가 -7이면 계속 감소한 것이므로 descending

둘 다 아니면 증가 감소가 섞인 것이므로 mixed

를 출력한다.