ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์์ ์ํธ
์ฝ๋ฉํ ์คํธ ์ฐ์ต > ์ฐ์ต๋ฌธ์ > ์์ ์ํธ
๐ฉ ๋ฌธ์ ์ค๋ช
์ด๋ค ๋ฌธ์ฅ์ ๊ฐ ์ํ๋ฒณ์ ์ผ์ ํ ๊ฑฐ๋ฆฌ๋งํผ ๋ฐ์ด์ ๋ค๋ฅธ ์ํ๋ฒณ์ผ๋ก ๋ฐ๊พธ๋ ์ํธํ ๋ฐฉ์์ ์์ ์ํธ๋ผ๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด "AB"๋ 1๋งํผ ๋ฐ๋ฉด "BC"๊ฐ ๋๊ณ , 3๋งํผ ๋ฐ๋ฉด "DE"๊ฐ ๋ฉ๋๋ค. "z"๋ 1๋งํผ ๋ฐ๋ฉด "a"๊ฐ ๋ฉ๋๋ค. ๋ฌธ์์ด s์ ๊ฑฐ๋ฆฌ n์ ์ ๋ ฅ๋ฐ์ s๋ฅผ n๋งํผ ๋ฏผ ์ํธ๋ฌธ์ ๋ง๋๋ ํจ์, solution์ ์์ฑํด ๋ณด์ธ์.
๐ฉ ์ ํ ์กฐ๊ฑด
โ๏ธ ๊ณต๋ฐฑ์ ์๋ฌด๋ฆฌ ๋ฐ์ด๋ ๊ณต๋ฐฑ์
๋๋ค.
โ s๋ ์ํ๋ฒณ ์๋ฌธ์, ๋๋ฌธ์, ๊ณต๋ฐฑ์ผ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
๐ค s์ ๊ธธ์ด๋ 8000์ดํ์
๋๋ค.
๐ n์ 1 ์ด์, 25์ดํ์ธ ์์ฐ์์
๋๋ค.
๐ฉ ๋ฌธ์ ํ์ด
function solution(s, n) {
let answer = [];
let abc = "abcdefghijklmnopqrstuvwxyz";
let ABC = abc.toUpperCase();
for(i=0; i<s.length; i++){
for(j=0; j<26; j++){
if(s[i] == abc[j]) {answer.push(abc[j+n]); if(j+n >= 26){answer.pop(); answer.push(abc[j+n-26])}}
if(s[i] == ABC[j]) {answer.push(ABC[j+n]); if(j+n >= 26){answer.pop(); answer.push(ABC[j+n-26])}}
}
if(s[i] == " ") {answer.push(" ")}
}
return answer.join("");
}
for๋ฌธ์ ๋๋ ค์ s์ ์๋ ๊ฐ๋ค์ ํ๋ํ๋ ๋น๊ตํด answer ๋ฐฐ์ด ์์ ๋ฃ์ด์ฃผ์์ต๋๋ค. ์ด๊ฒ ๋ญ๋ผ๊ณ ํธ๋ ๋ฐ 2912์ผ ๊ฑธ๋ ธ์ต๋๋ค.
๐ฉ ๋ค๋ฅธ ํ์ด
function caesar(s, n) {
return s.replace(/([a-z])|([A-Z])/g, (c, lowerCase) => {
var startCode = lowerCase ? 'a'.charCodeAt(0) : 'A'.charCodeAt(0)
return String.fromCharCode((c.charCodeAt(0) - startCode + n) % 26 + startCode)
})
}
๋ค๋ฅธ ํ์ด๋ค์ ๋ค ๋ฌธ์๋ฅผ ์ ๋์ฝ๋๋ก ๋ณํํ๊ฑฐ๋ ์ํ ์ฒ์ ๋ณด๋ ๋ฉ์๋๋ค์ ๋ง์ด ์ฌ์ฉํ๋๋ผ๊ณ ์. ๊ทธ๋์ 1๋ ์ดํด๊ฐ ์ ๋ฉ๋๋ค. ์ด ํ์ด๋ ๋ง์ฐฌ๊ฐ์ง... formCharCode() ๋ฉ์๋๋ ์ ๋์ฝ๋๋ฅผ ๋ค์ ๋ฌธ์๋ก ๋ณํ์ํจ๋ค๊ณ ํฉ๋๋ค. ์๋ฌดํผ ์ด ๋ฌธ์ ๋ ๋ค์ ๋ค์ฌ๋ค๋ณด๊ณ ์ถ์ง ์๋ค์...
'Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์์ฐ (2) | 2022.12.04 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ํ๋ฒ๊ฑฐ ๋ง๋ค๊ธฐ (4) | 2022.12.01 |
ํ๋ก๊ทธ๋๋จธ์ค 2๋จ๊ณ : JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ (2) | 2022.11.29 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๊ณผ์ผ ์ฅ์ (2) | 2022.11.29 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๋ ๊ฐ ๋ฝ์์ ๋ํ๊ธฐ (2) | 2022.11.29 |
๋๊ธ