Jieunny์ ๋ธ๋ก๊ทธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋๋ง์ ์ํธ ๋ณธ๋ฌธ
๐ ๋ฌธ์
๋ ๋ฌธ์์ด s์ skip, ๊ทธ๋ฆฌ๊ณ ์์ฐ์ index๊ฐ ์ฃผ์ด์ง ๋, ๋ค์ ๊ท์น์ ๋ฐ๋ผ ๋ฌธ์์ด์ ๋ง๋ค๋ ค ํฉ๋๋ค. ์ํธ์ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ฌธ์์ด s์ ๊ฐ ์ํ๋ฒณ์ index๋งํผ ๋ค์ ์ํ๋ฒณ์ผ๋ก ๋ฐ๊ฟ์ค๋๋ค.
- index๋งํผ์ ๋ค์ ์ํ๋ฒณ์ด z๋ฅผ ๋์ด๊ฐ ๊ฒฝ์ฐ ๋ค์ a๋ก ๋์๊ฐ๋๋ค.
- skip์ ์๋ ์ํ๋ฒณ์ ์ ์ธํ๊ณ ๊ฑด๋๋๋๋ค.
์๋ฅผ ๋ค์ด s = "aukks", skip = "wbqd", index = 5์ผ ๋, a์์ 5๋งํผ ๋ค์ ์๋ ์ํ๋ฒณ์ f์ง๋ง [b, c, d, e, f]์์ 'b'์ 'd'๋ skip์ ํฌํจ๋๋ฏ๋ก ์ธ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ 'b', 'd'๋ฅผ ์ ์ธํ๊ณ 'a'์์ 5๋งํผ ๋ค์ ์๋ ์ํ๋ฒณ์ [c, e, f, g, h] ์์์ ์ํด 'h'๊ฐ ๋ฉ๋๋ค. ๋๋จธ์ง "ukks" ๋ํ ์ ๊ท์น๋๋ก ๋ฐ๊พธ๋ฉด "appy"๊ฐ ๋๋ฉฐ ๊ฒฐ๊ณผ๋ "happy"๊ฐ ๋ฉ๋๋ค.
๋ ๋ฌธ์์ด s์ skip, ๊ทธ๋ฆฌ๊ณ ์์ฐ์ index๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ์ ๊ท์น๋๋ก s๋ฅผ ๋ณํํ ๊ฒฐ๊ณผ๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- 5 โค s์ ๊ธธ์ด โค 50
- 1 โค skip์ ๊ธธ์ด โค 10
- s์ skip์ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- skip์ ํฌํจ๋๋ ์ํ๋ฒณ์ s์ ํฌํจ๋์ง ์์ต๋๋ค.
- 1 โค index โค 20
๐ก ์์ด๋์ด
์ํ๋ฒณ a-z๊น์ง ๋ฐฐ์ด์ ๋ฃ์ด์ฃผ๊ณ , skip์ ๋ฐฐ์ด๋ก ๋ง๋ค์ด์ ์ํ๋ฒณ ๋ฐฐ์ด์์ ๋นผ์ค๋ค.
skip์ ์ด์ฐจํผ ๊ฑด๋๋ฐ๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ์์ ์ฒ์๋ถํฐ ๋นผ๋ฒ๋ฆฌ๋ ๊ฒ ํธํ๋ค.
s๋๋ฉด์ ๊ฐ๊ฐ ์์ idx+indexํ ๊ฐ์ ์ํ๋ฒณ ๋ฐฐ์ด์์ ์ฐพ์์ answer์ ๋ํด์ค๋ค.
์ด๋, ์ํ๋ฒณ ๋ฐฐ์ด ๊ธธ์ด๋ฅผ ๋์ด๊ฐ๋ฉด ๋ค์ 0๋ฒ์งธ ๋ถํฐ ์์ํด์ผํ๋ฏ๋ก ์ํ๋ฒณ ๋ฐฐ์ด ๊ธธ์ด๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ด์ฉํ๋ค.
โ๏ธ ํ์ด
function solution(s, skip, index) {
var answer = '';
let alphabet = [];
let skipArr = skip.split(''); // skip ๋ฐฐ์ด๋ก ๋ง๋ค์ด์ฃผ๊ธฐ
for(let i=97; i<=122; i++){ // ์ํ๋ฒณ ๋ฐฐ์ด ์ด๊ธฐํ
alphabet.push(String.fromCharCode(i));
}
for(let i=0; i<skipArr.length; i++){ // skipํ ๊ฐ์ ์ํ๋ฒณ ๋ฐฐ์ด์์ ์ ๊ฑฐ
let idx = alphabet.indexOf(skipArr[i]);
alphabet.splice(idx, 1);
}
for(let i=0; i<s.length; i++){ // s ๋๋ฉด์ index ๋งํผ ๋ํด์ค ๊ฐ์ answer์ ์ถ๊ฐ
let idx = alphabet.indexOf(s[i]) + index;
if(idx >= alphabet.length){
idx = idx % alphabet.length;
}
answer+=alphabet[idx];
}
return answer;
}
'Study > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์์ ์ง๋ (0) | 2023.02.03 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๊ฒน์น๋ ์ ๋ถ์ ๊ธธ์ด (0) | 2023.02.03 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๊ฐ์ธ์ ๋ณด ์์ง ์ ํจ๊ธฐ๊ฐ (0) | 2023.02.02 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ (0) | 2023.02.02 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ํ๋ฒ๊ฑฐ ๋ง๋ค๊ธฐ (0) | 2023.02.02 |