728x90
반응형
백준 BAEKJOON 4732번 조옮김 [PYTHON/파이썬]
<문제 출처> (BRONZE Ⅰ)
https://www.acmicpc.net/problem/4732
4732번: 조옮김
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 어떤 곡의 음의 순서가 주어진다. 음과 음은 하나 또는 그 이상의 공백으로 구분되어 있다. 다음 줄에는 조옮
www.acmicpc.net
<풀이>
12음으로 이루어진 음계를
샤프와 플랫을 구분하여 번호를 지정한 딕셔너리와
문제에서 주어진 음계 리스트를 2개 만든 뒤 문제를 풀었다.
<코드>
scales = {
"Ab": 11,
"A": 0,
"A#": 1,
"Bb": 1,
"B": 2,
"B#": 3,
"Cb": 2,
"C": 3,
"C#": 4,
"Db": 4,
"D": 5,
"D#": 6,
"Eb": 6,
"E": 7,
"E#": 8,
"Fb": 7,
"F": 8,
"F#": 9,
"Gb": 9,
"G": 10,
"G#": 11,
}
scales_index = ["A", "A#", "B", "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#"]
while True:
order = list(input().split())
if order[0] == "***":
break
transposition = int(input())
result = []
for i in order:
m = scales[i] + transposition
result.append(scales_index[m % 12])
print(" ".join(result))
728x90
반응형
'ALGORITHM > PYTHON' 카테고리의 다른 글
백준 BAEKJOON 11094번 꿍 가라사대 [PYTHON/파이썬] (0) | 2024.01.06 |
---|---|
백준 BAEKJOON 30204번 병영외 급식 [PYTHON/파이썬] (0) | 2024.01.05 |
백준 BAEKJOON 31090번 2023은 무엇이 특별할까? [PYTHON/파이썬] (1) | 2024.01.03 |
백준 BAEKJOON 30999번 민주주의 [PYTHON/파이썬] (0) | 2024.01.01 |
백준 BAEKJOON 30889번 좌석 배치도 [PYTHON/파이썬] (0) | 2023.12.30 |