-
반응형
https://www.acmicpc.net/problem/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
풀이
먼저 해당음계들을 인덱스에 맞춰서 저장을 해준뒤, 입력받는 숫자에 맞는 음계를 String에 추가해준다. 모두 추가해준뒤, asc에 맞는 "cdefgabC"와 일치한다면 ascending을, desc에 맞는 "Cbagfedc"와 일치한다면 descending을 출력해준다.
만약 맞는게 없다면 mixed를 출력해준다.
시간복잡도
8번의 입력과 길이가 8인 String배열의 비교이므로 O(1)이 걸린다.
코드
import java.util.Scanner; public class Main { public static void main(String[] args){ char[] melody=new char[]{'c','d','e','f','g','a','b','C'}; String asc="cdefgabC"; String des="Cbagfedc"; String ret=""; Scanner scanner=new Scanner(System.in); for(int i=0;i<8;i++){ int n=scanner.nextInt(); ret+=melody[n-1]; } if(ret.equals(asc)){ System.out.println("ascending"); } else if(ret.equals(des)){ System.out.println("descending"); } else{ System.out.println("mixed"); } } }
반응형'문제풀이 > 백준oj' 카테고리의 다른 글
[백준OJ] 1181번 단어 정렬 (0) 2021.11.04 [백준OJ] 1120번 문자열 (0) 2021.11.02 [백준OJ] 16943번 숫자 재배치 (0) 2021.10.28 [백준OJ] 2670번 연속부분최대곱 (0) 2021.10.28 [백준OJ] 11060번 점프 점프 (0) 2021.10.27 댓글