728x90
오늘 리뷰할 코딩테스트 문제는 모스부호 해독하는 문제
먼저
문제
머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다.
그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다.
문자열 letter가 매개변수로 주어질 때,
letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
모스부호는 다음과 같습니다.
morse = {
'.-':'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'
}
이걸 풀 당시 파이썬 기초 지식이 약간 희미해져가는 시점이어서
처음 약간 멍때렸지만 이제 스타트인데 벌써 그럴 순 없지 않은가,,,
정신차리기,,
아래는 내가 짠 코드
def solution(letter):
morse = {
'.-':'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'
}
string = letter.split(' ')
answer = ''
for s in string:
if s in morse:
answer += morse[s]
return answer
여기서 입력되는 매개변수 letter은 모스부호인 문자열이며, 공백으로 나누어져 있음.
그리하여 split 함수를 사용해 공백을 기준으로 나눈 뒤, for문과 if문을 이용해서 영문자로 출력하게 만들었다.
성능은 아래와 같이 나왔다
- 메모리: 10.2 MB
- 시간: 0.02 ms
728x90
'Programming > Coding Test Study' 카테고리의 다른 글
코딩테스트 연습 - 카카오 인턴 / 키패드 누르기 문제 (0) | 2023.12.04 |
---|---|
코딩테스트 연습 - k번째 수 문제 풀기 (1) | 2023.11.24 |
코딩테스트 연습 - 명예의 전당 문제 (0) | 2023.11.23 |
코딩테스트 연습 - 푸드 파이트 대회 음식 배치 문제 해결 (2) | 2023.11.21 |
728x90
오늘 리뷰할 코딩테스트 문제는 모스부호 해독하는 문제
먼저
문제
머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다.
그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다.
문자열 letter가 매개변수로 주어질 때,
letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
모스부호는 다음과 같습니다.
morse = {
'.-':'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'
}
이걸 풀 당시 파이썬 기초 지식이 약간 희미해져가는 시점이어서
처음 약간 멍때렸지만 이제 스타트인데 벌써 그럴 순 없지 않은가,,,
정신차리기,,
아래는 내가 짠 코드
def solution(letter):
morse = {
'.-':'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'
}
string = letter.split(' ')
answer = ''
for s in string:
if s in morse:
answer += morse[s]
return answer
여기서 입력되는 매개변수 letter은 모스부호인 문자열이며, 공백으로 나누어져 있음.
그리하여 split 함수를 사용해 공백을 기준으로 나눈 뒤, for문과 if문을 이용해서 영문자로 출력하게 만들었다.
성능은 아래와 같이 나왔다
- 메모리: 10.2 MB
- 시간: 0.02 ms
728x90
'Programming > Coding Test Study' 카테고리의 다른 글
코딩테스트 연습 - 카카오 인턴 / 키패드 누르기 문제 (0) | 2023.12.04 |
---|---|
코딩테스트 연습 - k번째 수 문제 풀기 (1) | 2023.11.24 |
코딩테스트 연습 - 명예의 전당 문제 (0) | 2023.11.23 |
코딩테스트 연습 - 푸드 파이트 대회 음식 배치 문제 해결 (2) | 2023.11.21 |