๐Ÿ‘ƒ๋”ฉ/๊ณต๋ถ€

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋ชจ์Šค๋ถ€ํ˜ธ(1)] Javascript ๊ฐ์ฒด ๊ฐ’(ํ”„๋กœํผํ‹ฐ)์— ์ ‘๊ทผํ•  ๋•Œ ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•

crtjy 2022. 10. 8. 19:14

 

๋ฌธ์ œ

 

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

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('');
}