๐Ÿ‘’ ๋ญ? JS๋กœ PS๋ฅผ ํ•œ๋‹ค๊ณ ?

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Javascript / JS] ์˜์–ด ๋๋ง์ž‡๊ธฐ

์„ ๋‹ฌ 2023. 4. 20. 23:23
๋ฐ˜์‘ํ˜•

https://school.programmers.co.kr/learn/courses/30/lessons/12981

 

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

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

programmers.co.kr

 

์•ž์— ์ค‘๋ณต๋œ ๋‹จ์–ด๊ฐ€ ๋‚˜์™”๋Š”์ง€๋ฅผ ๊ฑธ๋Ÿฌ๋‚ด๋Š” ๊ณผ์ •์„ ๊ตฌํ˜„ํ•˜๋Š”๊ฒŒ ๋น„๊ต์  ๋ณต์žกํ–ˆ๋Š”๋ฐ,

slice๋ฅผ ์ด์šฉํ•˜์—ฌ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ˜„์žฌ ์ธ๋ฑ์Šค๊นŒ์ง€ ๋ฐฐ์—ด์„ ์ž˜๋ผ๋‚ด๊ณ ,

find๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•ด๋‹น ๋ฐฐ์—ด๋‚ด์— ํ˜„์žฌ ๋‹จ์–ด๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์—ˆ๋‹ค.

 

์ „ ๋‹จ์–ด ๋๊ธ€์ž์™€ ํ˜„ ๋‹จ์–ด ์ฒซ๊ธ€์ž ๋น„๊ต๋Š” ๋ฌธ์ž์—ด์—์„œ ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•˜๋ฉด ์‰ฝ๊ฒŒ ๋œ๋‹ค.

function solution(n, words) {
    for(let i=1; i<words.length; i++) {
        let prev = words[i-1];
        let cur = words[i];
        
        if(words.slice(0,i).find((word) => word === cur) !== undefined)
            return [i%n+1, parseInt(i/n+1)];
        if(prev[prev.length-1] !== cur[0])
            return [i%n+1, parseInt(i/n+1)];
    }
    return [0,0];
}
๋ฐ˜์‘ํ˜•