

[Bronze II] 음계 - 2920
2920번: 음계
다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8
www.acmicpc.net
성능 요약
메모리: 17684 KB, 시간: 204 ms
분류
구현(implementation)
문제 설명
다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다.
1부터 8까지 차례대로 연주한다면 ascending, 8부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다.
연주한 순서가 주어졌을 때, 이것이 ascending인지, descending인지, 아니면 mixed인지 판별하는 프로그램을 작성하시오.
입력
첫째 줄에 8개 숫자가 주어진다. 이 숫자는 문제 설명에서 설명한 음이며, 1부터 8까지 숫자가 한 번씩 등장한다.
출력
첫째 줄에 ascending, descending, mixed 중 하나를 출력한다.
답 : java.util.Arrays의 equals를 사용해 배열이 같은지 확인하고
조건문으로 해당 값이 맞을 때 케이스별로 나오게 해준다.
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arrAsc = {1, 2, 3, 4, 5, 6, 7, 8};
int[] arrDes = {8, 7, 6, 5, 4, 3, 2, 1};
int[] arr = new int[8];
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt();
}
if (Arrays.equals(arr, arrAsc)) {
System.out.println("ascending");
} else if (Arrays.equals(arr, arrDes)) {
System.out.println("descending");
} else
System.out.println("mixed");
}
}
'algorithm > 백준' 카테고리의 다른 글
[백준] 평균 - 1546 Java[자바] (0) | 2022.12.12 |
---|---|
[백준] 기찍 N - 2742 Java[자바] (0) | 2022.12.11 |
[백준] 숫자의 합 - 11720 Java[자바] (0) | 2022.12.10 |
[백준] OX퀴즈 - 8958 Java[자바] (0) | 2022.12.09 |
[백준] 문자열 반복 - 2675 Java[자바] (1) | 2022.12.09 |