Notice
Recent Posts
Link
- Today
- Total
hye-log
[백준]2920번 음계(JAVA) 본문
0. 문제 링크
https://www.acmicpc.net/problem/2920
1. 문제 설명
1) 8개의 음의 연주 순서가 주어졌을 때, ascending, descending, mixed 출력하기
2. 입출력
// input1
1 2 3 4 5 6 7 8
// output1
ascending
// input2
8 7 6 5 4 3 2 1
// output2
descending
// input3
8 1 7 2 6 3 5 4
// output3
mixed
3. 코드
import java.io.*;
import java.util.*;
public class b2920 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int ans = 0;
int prev = Integer.parseInt(st.nextToken()); // 첫 번째 음 입력
for (int i = 1; i < 8; i++) { // 나머지 7개 음 입력 받기
int now = Integer.parseInt(st.nextToken()); // 현재 음 임력
if(prev < now) { // 첫 번째 음이 현재 음보다 작으면
ans += 1; // 1 추가
} else if(prev > now) { // 첫 번째 음이 현재 음보다 크면
ans -= 1; // 1 감소
}
prev = now; // prev를 now로 고치기
}
if(ans == 7) { // 1부터 8까지 차례로 연주해서 7이면
System.out.println("ascending");
} else if(ans == -7) { // 8부터 1까지 차례로 연주해서 -7이면
System.out.println("descending");
} else { // 7도 -7도 아니면
System.out.println("mixed");
}
}
}
실행 결과
4. 회고
1) 문제에서 1부터 8까지 음이 한 번씩 주어진다고 했으므로, 1부터 8까지면 ascending, 8부터 1까지면 descending, 나머지 경우는 모두 mixed에 해당
- 이전에 받은 음과 현재 받은 음의 대소 비교를 통해 ans 값으로 ascending, descending을 판단
2) 출력문 오타를 주의하자...
5. Github
https://github.com/iihye/Algorithm/blob/main/Baekjoon/b2920.java
728x90
'CodingTest > Baekjoon' 카테고리의 다른 글
[백준]8958번 OX퀴즈(JAVA) (0) | 2023.08.13 |
---|---|
[백준]3052번 나머지(JAVA) (0) | 2023.08.13 |
[백준]11720번 숫자의 합(JAVA) (0) | 2023.08.13 |
[백준]2675번 문자열 반복(JAVA) (0) | 2023.08.13 |
[백준]2439번 별 찍기 - 2(JAVA) (0) | 2023.08.13 |
Comments