|
| 1 | +// 모스부호 (1) |
| 2 | +// 문제 설명 |
| 3 | +// 머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다. 그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다. 문자열 letter가 매개변수로 주어질 때, letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요. |
| 4 | +// 모스부호는 다음과 같습니다. |
| 5 | + |
| 6 | +// morse = { |
| 7 | +// ".-":"a","-...":"b","-.-.":"c","-..":"d",".":"e","..-.":"f", |
| 8 | +// "--.":"g","....":"h","..":"i",".---":"j","-.-":"k",".-..":"l", |
| 9 | +// "--":"m","-.":"n","---":"o",".--.":"p","--.-":"q",".-.":"r", |
| 10 | +// "...":"s","-":"t","..-":"u","...-":"v",".--":"w","-..-":"x", |
| 11 | +// "-.--":"y","--..":"z" |
| 12 | +// } |
| 13 | +// 제한사항 |
| 14 | +// 1 ≤ letter의 길이 ≤ 1,000 |
| 15 | +// return값은 소문자입니다. |
| 16 | +// letter의 모스부호는 공백으로 나누어져 있습니다. |
| 17 | +// letter에 공백은 연속으로 두 개 이상 존재하지 않습니다. |
| 18 | +// 해독할 수 없는 편지는 주어지지 않습니다. |
| 19 | +// 편지의 시작과 끝에는 공백이 없습니다. |
| 20 | +// 입출력 예 |
| 21 | +// letter result |
| 22 | +// ".... . .-.. .-.. ---" "hello" |
| 23 | +// ".--. -.-- - .... --- -." "python" |
| 24 | +// 입출력 예 설명 |
| 25 | +// 입출력 예 #1 |
| 26 | + |
| 27 | +// .... = h |
| 28 | +// . = e |
| 29 | +// .-.. = l |
| 30 | +// .-.. = l |
| 31 | +// --- = o |
| 32 | +// 따라서 "hello"를 return 합니다. |
| 33 | +// 입출력 예 #2 |
| 34 | + |
| 35 | +// .--. = p |
| 36 | +// -.-- = y |
| 37 | +// - = t |
| 38 | +// .... = h |
| 39 | +// --- = o |
| 40 | +// -. = n |
| 41 | +// 따라서 "python"을 return 합니다. |
| 42 | +// a ~ z에 해당하는 모스부호가 순서대로 담긴 배열입니다. |
| 43 | +// {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."} |
| 44 | + |
| 45 | +package main |
| 46 | + |
| 47 | +import ( |
| 48 | + "fmt" |
| 49 | + "strings" |
| 50 | +) |
| 51 | + |
| 52 | +func solution(letter string) string { |
| 53 | + morse := map[string]string{ |
| 54 | + ".-": "a", "-...": "b", "-.-.": "c", "-..": "d", ".": "e", "..-.": "f", |
| 55 | + "--.": "g", "....": "h", "..": "i", ".---": "j", "-.-": "k", ".-..": "l", |
| 56 | + "--": "m", "-.": "n", "---": "o", ".--.": "p", "--.-": "q", ".-.": "r", |
| 57 | + "...": "s", "-": "t", "..-": "u", "...-": "v", ".--": "w", "-..-": "x", |
| 58 | + "-.--": "y", "--..": "z", |
| 59 | + } |
| 60 | + |
| 61 | + slice := strings.Split(letter, " ") |
| 62 | + |
| 63 | + answer := "" |
| 64 | + for _, v := range slice { |
| 65 | + answer += morse[v] |
| 66 | + } |
| 67 | + fmt.Println("answer", answer) |
| 68 | + return answer |
| 69 | +} |
| 70 | + |
| 71 | +func main() { |
| 72 | + letter := ".... . .-.. .-.. ---" |
| 73 | + solution(letter) |
| 74 | +} |
0 commit comments