UpDown Dev Story
[백준 - 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
풀이과정
- 8개의 숫자가 주어진다 이 숫자를 보고 아래의 조건을 대입하여 출력하면 되는 문제다
- 순서대로 증가되면 ascending
- 순서대로 증감되면 descending
- 뒤죽박죽이면 mixed
코드
package baekjoon;
import java.util.Scanner;
public class Problem2920 {
// 8개의 숫자가 주어진다 이 숫자를 보고 아래의 조건을 대입하여 출력하면 되는 문제다
// 순서대로 증가되면 ascending
// 순서대로 증감되면 descending
// 뒤죽박죽이면 mixed
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 8개의 값을 배열에 담는다
int[] inputArr = new int[8];
for (int i = 0; i < 8; i++) {
inputArr[i] = sc.nextInt();
}
boolean isAscending = true; // 초기 asc 값을 초기화한다
boolean isDescending = true; // 초기 asc 값을 초기화한다
for (int j = 0; j < inputArr.length - 1; j++) { // 0 ~ 7까지 배열을 돈다(8까지 돌면 +1 했을때 Exception 발생)
if (inputArr[j] < inputArr[j + 1]) { // 현재 node의 값과 다음 node의 값을 비교해서 다음 node가 크면
isDescending = false; // 내림차순이 아니다
} else if (inputArr[j] > inputArr[j + 1]) { // 현재 node의 값과 다음 node의 값을 비교해서 현재 node가 크면
isAscending = false; // 오름차순이 아니다
}
}
// 위 기준값을 가지고 출력하는 로직
if (isAscending) { // 오름차순이면
System.out.println("ascending");
} else if (isDescending) { // 내림차순이면
System.out.println("descending");
} else { // 오름차순도 내림차순도 아니면
System.out.println("mixed");
}
}
}
'Algorithm' 카테고리의 다른 글
팩토리얼 (0) | 2021.07.07 |
---|---|
선택 정렬 (0) | 2021.07.07 |
교육과정 설계 (Queue) (0) | 2021.07.07 |
공주 구하기 (Queue) (0) | 2021.07.06 |
후위식 연산 (Stack) (0) | 2021.07.06 |
Comments