์์ ์ํธ
์ด๋ค ๋ฌธ์ฅ์ ๊ฐ ์ํ๋ฒณ์ ์ผ์ ํ ๊ฑฐ๋ฆฌ๋งํผ ๋ฐ์ด์ ๋ค๋ฅธ ์ํ๋ฒณ์ผ๋ก ๋ฐ๊พธ๋ ์ํธํ ๋ฐฉ์์ ์์ ์ํธ๋ผ๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด "AB"๋ 1๋งํผ ๋ฐ๋ฉด "BC"๊ฐ ๋๊ณ , 3๋งํผ ๋ฐ๋ฉด "DE"๊ฐ ๋ฉ๋๋ค. "z"๋ 1๋งํผ ๋ฐ๋ฉด "a"๊ฐ ๋ฉ๋๋ค. ๋ฌธ์์ด s์ ๊ฑฐ๋ฆฌ n์ ์ ๋ ฅ๋ฐ์ s๋ฅผ n๋งํผ ๋ฏผ ์ํธ๋ฌธ์ ๋ง๋๋ ํจ์, solution์ ์์ฑํด ๋ณด์ธ์.
์ ํ ์กฐ๊ฑด
* ๊ณต๋ฐฑ์ ์๋ฌด๋ฆฌ ๋ฐ์ด๋ ๊ณต๋ฐฑ์
๋๋ค.
s๋ ์ํ๋ฒณ ์๋ฌธ์, ๋๋ฌธ์, ๊ณต๋ฐฑ์ผ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
s์ ๊ธธ์ด๋ 8000์ดํ์
๋๋ค.
n์ 1 ์ด์, 25์ดํ์ธ ์์ฐ์์
๋๋ค.
์ ์ถ๋ ฅ ์
s | n | result |
---|---|---|
"AB" | 1 | "BC" |
"z" | 1 | "a" |
"a B z" | 4 | "e F d" |
๋ฌธ์ ํ์ด
var upper์๋ ๋๋ฌธ์๋ฅผ, var lower์๋ ์๋ฌธ์๋ฅผ ์ ์ฅ์ํจ๋ค. ๊ทธ๋ฐ ๋ค์ for๋ฌธ์ ํตํด์ s์ ๋ฐ์ดํฐ ๊ฐ์๋งํผ i๋ฅผ ์ฆ๊ฐ์์ผ์ฃผ๊ณ var text์ s[i]๋ฅผ ์ ์ฅํ๋ค. ๋ง์ผ s๊ฐ "AB"๋ผ๋ฉด var text๋ s[1]๋ก 1์ด ๋ฐ๋ ค "BC"๊ฐ ๋๋ ์์ด๋ค. ๊ทธ ๋ค์ if๋ฌธ๊ณผ upper, includes, textArr ๋ฑ์ ํ์ฉํ์ฌ ์คํฌ๋ฆฝํธ๋ฅผ ์ง ๋ค.
function solution(s, n) {
var upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var lower = "abcdefghijklmnopqrstuvwxyz";
var answer= '';
for(var i =0; i <s.length; i++){
var text = s[i];
if(text == ' ') {
answer += ' ';
continue;
}
var textArr = upper.includes(text) ? upper : lower;
var index = textArr.indexOf(text)+n;
if(index >= textArr.length) index -= textArr.length;
answer += textArr[index];
}
return answer;
}
๋ค๋ฅธ ํ์ด ๋ฐฉ์
var chars์ ๋ก๋ง์ ๋์๋ฌธ์์ ๊ณต๋ฐฑ 26์นธ์ ์ ์ฅ์ํค๊ณ split์ผ๋ก ์ชผ๊ฐ ๋ค์ map๊ณผ chars.indexOf, join์ ํตํด ์คํฌ๋ฆฝํธ๋ฅผ ํ ์ค๋ก ์ง๋ผ ์ ์๋ค.
function solution(s, n) {
var chars = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXY "
return s.split('').map(e => chars[chars.indexOf(e)+n]).join('');
}
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : 2016๋ (1) | 2022.11.30 |
---|---|
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : ๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ (1) | 2022.11.29 |
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : ์์ฐ (1) | 2022.11.28 |
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : 3์ง๋ฒ ๋ค์ง๊ธฐ (1) | 2022.11.28 |
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : K๋ฒ์งธ์ (1) | 2022.11.25 |
๋๊ธ