[#29701] 모스 부호
문제
#29701 모스 부호
Bronze2
적용 알고리즘: String
풀이 방법
- 입력에서 각 모스 부호가 공백으로 구분되어 입력되므로 입력된 모스부호를 공백을 기준으로 쪼갠다.
- 모스부호를 딕셔너리에 저장한다.
코드 흐름
- 입력받은 모스부호를 공백을 기준으로 자른다. (각각의 문자는 리스트에 저장된다.)
- 리스트의 각 원소마다 모스 부호가 저장된 딕셔너리의 값과 비교하여 문자열을 찾고, 이를 출력 문자열에 저장한다.
- 완성된 문자열을 출력한다.
코드
moss = {
'.-': 'A',
'-...': 'B',
'-.-.': 'C',
'-..': 'D',
'.': 'E',
'..-.': 'F',
'--.': 'G',
'....': 'H',
'..': 'I',
'.---': 'J',
'-.-': 'K',
'.-..': 'L',
'--': 'M',
'-.': 'N',
'---': 'O',
'.--.': 'P',
'--.-': 'Q',
'.-.': 'R',
'...': 'S',
'-': 'T',
'..-': 'U',
'...-': 'V',
'.--': 'W',
'-..-': 'X',
'-.--': 'Y',
'--..': 'Z',
'.----': '1',
'..---': '2',
'...--': '3',
'....-': '4',
'.....': '5',
'-....': '6',
'--...': '7',
'---..': '8',
'----.': '9',
'-----': '0',
'--..--': ',',
'.-.-.-': '.',
'..--..': '?',
'---...': ':',
'-....-': '-',
'.--.-.': '@'
}
n = int(input())
moss_sent = input().split()
text = ""
for i in moss_sent:
text += moss[i]
print(text)
체감 난이도: 1.1/5
이 문제는 모스부호를 오타 없이 치는 과정이 더 어려운 것 같다. 알파벳은 긁어왔고 나머지는 내가 쳤는데 오타가 나서 한번 틀렸다ㅋㅋ 근데 만약 문제에서 모스 부호를 공백 없이 주어졌다면 이를 대조하며 찾는 과정에서 시간초과나 이런게 났을 수도 있을 것 같다.