๐ ๋ชจ์ค๋ถํธ (1)
๐ ๋ฌธ์
๋ฌธ์ ์ค๋ช
๋จธ์ฑ์ด๋ ์น๊ตฌ์๊ฒ ๋ชจ์ค๋ถํธ๋ฅผ ์ด์ฉํ ํธ์ง๋ฅผ ๋ฐ์์ต๋๋ค. ๊ทธ๋ฅ์ ์ฝ์ ์ ์์ด ์ด๋ฅผ ํด๋
ํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. ๋ฌธ์์ด letter
๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, letter
๋ฅผ ์์ด ์๋ฌธ์๋ก ๋ฐ๊พผ ๋ฌธ์์ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์. ๋ชจ์ค๋ถํธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1
2
3
4
5
6
7
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'
}
์ ํ์ฌํญ
- 1 โค
letter
์ ๊ธธ์ด โค 1,000 - return๊ฐ์ ์๋ฌธ์์ ๋๋ค.
letter
์ ๋ชจ์ค๋ถํธ๋ ๊ณต๋ฐฑ์ผ๋ก ๋๋์ด์ ธ ์์ต๋๋ค.letter
์ ๊ณต๋ฐฑ์ ์ฐ์์ผ๋ก ๋ ๊ฐ ์ด์ ์กด์ฌํ์ง ์์ต๋๋ค.- ํด๋ ํ ์ ์๋ ํธ์ง๋ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
- ํธ์ง์ ์์๊ณผ ๋์๋ ๊ณต๋ฐฑ์ด ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
letter | result |
---|---|
โโฆ. . .-.. .-.. โโ | โhelloโ |
โ.โ. -.โ - โฆ. โ -.โ | โpythonโ |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- โฆ. = h
- . = e
- .-.. = l
- .-.. = l
- โ = o
- ๋ฐ๋ผ์ โhelloโ๋ฅผ return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- .โ. = p
- -.โ = y
- - = t
- โฆ. = h
- โ = o
- -. = n
- ๋ฐ๋ผ์ โpythonโ์ return ํฉ๋๋ค.
- a ~ z์ ํด๋นํ๋ ๋ชจ์ค๋ถํธ๊ฐ ์์๋๋ก ๋ด๊ธด ๋ฐฐ์ด์ ๋๋ค.
{".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."}
โ๏ธ ํ์ด
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function solution(letter) {
var answer = '';
const 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'
};
let letterArray = letter.split(' ');
for(let e of letterArray) {
for(const v in morse)
if(e === v)
answer += morse[v];
}
return answer;
}
์ ๋ ฅ ๋ฐ์ ๋ถ์ค๋ถํธ ๋ฌธ์์ด๋ฅผ ๋จ์ด๋ก ๋ณํํ๋ ๋ฌธ์ ์ด๋ค.
์ผ๋จ ๋ฌธ์์ด์ split()๋ฉ์๋๋ฅผ ํตํด ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋๋์ด ์ฃผ์๋ค.
๊ทธ๋ฐ ๋ค์ forโฆof ๋ฌธ์ ํตํด ๋ฐฐ์ด์ ์์๋ค์ ๋ฐ๋ณตํ๊ณ , forโฆin์ ํตํด morse ๊ฐ์ฒด๋ฅผ ๋ฐ๋ณตํ๋ค. ๋ฐฐ์ด์ ์ํํ๋ฉด์ ๊ฐ์ฒด์ ์ ๊ทผํ์ฌ ๋ฐฐ์ด์ ์์๊ฐ ๊ฐ์ฒด์ ํค์ ๊ฐ์ ๊ฒฝ์ฐ, answer์ ๊ฐ์ฒด์ ๊ฐ์ ๋ํด ํ ๋นํ๋ค.
๐ ๋ค๋ฅธ ์ฌ๋ ํ์ด
1
2
3
4
5
6
7
8
9
10
11
// ๋ค๋ฅธ ์ฌ๋ ํ์ด
function solution(letter) {
let 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'
};
return letter.split(' ').map(v=>morse[v]).join('');
}
for๋ฌธ์ ์ฌ์ฉํ์ง ์๊ณ map() ๋ฉ์๋๋ฅผ ํ์ฉํ์ฌ ํผ ๋ฌธ์ ์ด๋ค. split() ๋ฉ์๋๋ฅผ ํตํด ๋ฐ์ ๋งค๊ฐ๋ณ์ ๋ฌธ์์ด๋ค์ ์๋ฅด๊ณ map()๋ฉ์๋๋ฅผ ํตํด ๋ฐฐ์ด์ ์ํํ๋ฉด์ ๋ฐฐ์ด์ ์์๋ฅผ ํค๊ฐ๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๋ฐํํ๊ณ , join() ๋ฉ์๋๋ฅผ ํตํด ๋ฌธ์์ด๋ค์ ๋ค์ ํฉ์ณ ์ฃผ์๋ค.