๋ฌธ์
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ด ํ์ด
1. ์ผ๋จ [๋ชจ์ค๋ถํธ ๋ฐฐ์ด]์ ์์๋ฅผ 'ํค'๋ก ํ๊ณ , [์ํ๋ฒณ]์ '๊ฐ'์ผ๋ก ํ๋ ๊ฐ์ฒด(obj)๋ฅผ ๋ง๋ค์ด์ค๋ค.
(ํด๋น ๋ชจ์ค๋ถํธ์ ์ํ๋ฒณ์ 1:1๋์์์ผ์ผ ํ๊ธฐ ๋๋ฌธ!)
2. ์ ๋ ฅ๊ฐ์ธ letter ๋ฌธ์์ด์ ๋ฐฐ์ด๋ก ๋ฐ๊ฟ์ฃผ๊ณ , 1๋ฒ์์ ๋ง๋ค์ด์ค ๊ฐ์ฒด์ ๋น๊ตํ ์ค๋น๋ฅผ ํด๋๋ค.
3. for ๋ฐ๋ณต๋ฌธ์ ๋๋ฉฐ [1๋ฒ์ ๊ฐ์ฒด์ ํค] === [letter๋ฌธ์์ด ๋ฐฐ์ด ์์] ์ผ๋์๋ง!!!!
[1๋ฒ ๊ฐ์ฒด์ ๊ฐ]์ answer ๋ฐฐ์ด์ pushํด์ค๋ค.
๊ทธ ๋ค์ ๋ฐฐ์ด์ ๋ค์ ๋ฌธ์์ด๋ก ํฉ์ณ์ฃผ๋ฉด ๋! (๋ฐฐ์ด.join('')์ด์ฉ)
๊ฐ์ฒด์ ํค ์ด๋ฆ์ ๋ชจ๋ฅธ ์ฑ๋ก ๊ฐ์ฒด ํค ์ธ๋ฑ์ค๋ก ์ ๊ทผํด์ ๊ฐ์ ์ป๊ณ ์ถ์๊ธฐ ๋๋ฌธ์,, ์ฐพ์๋ณด๋ค๊ฐ ์๋ ํฌ์คํ ์ ์ฐธ๊ณ ํ๋ค.
(๊ฐ์ฒด์ '๊ฐ'(ํ๋กํผํฐ)์ ์ ๊ทผํ ๋ ๊ฐ์ฒด ํค๊ฐ ์๋ ํค์ '์ธ๋ฑ์ค'(์ฆ, ์์)๋ก ์ ๊ทผํ๊ณ ์ถ์๋!)
js object access by index
์๋ฏธ์๋ ๋ณ์์ด๋ฆ๋ค.. api๋ฅผ ์ฌ์ฉํ๋ค๋ณด๋ฉด ์ฃผ๊ธฐ์ ์ผ๋ก? ๋ณ์๋ช ์ด ๋ฐ๋๋ ์ํฉ์ด ๋์จ๋ค ์นด์นด์ค ๋งต api ๊ฐ ๊ทธ๋ฌํ๋ค ์ด๋ ๊ฒ ์ง์ ๊ฐ์ฒด์ ๋ณ์์ ์ ๊ทผํด์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ฐ๋์งํ์ง ์๋ค๊ณ ํ๋ค
chinsun9.github.io
(๊ฐ์ฌํฉ๋๋ค^,.^)
ํด๊ฒฐ
Object.keys(obj) //์ด๊ฑด ๊ฐ์ฒดobj์ ํค๋ค๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฐฐ์ด์ ๋ฐํํ๋ค.
//๋ฐ๋ผ์
Object.keys(obj)[i] //์ด๋ ๊ฒ ํ๋ฉด ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ก ์ ๊ทผํ๋ ๊ฐ๋
์ด ๋๋ฏ๋ก ์ฝ๊ฒ ์ ๊ทผ ๊ฐ๋ฅ!
function solution(letter) {
var letter_arr = letter.split(' ');
var morse = [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
var alpha = 'abcdefghijklmnopqrstuvwxyz'.split('');
var obj = {};
for (var i = 0; i<morse.length; i++) {
obj[morse[i]] = alpha[i];
}
var answer = [];
for (var i = 0; i<letter_arr.length; i++) {
for (var j = 0; j<morse.length; j++) {
if (letter_arr[i] === Object.keys(obj)[j]) {
answer.push(obj[Object.keys(obj)[j]]);
}
}
}
return answer.join('');
}