๐ฃ ASCII ์ฝ๋
์ค๋์ ์์คํค์ฝ๋์ ๊ด๋ จ๋ charCodeAt() ๊ทธ๋ฆฌ๊ณ fromCharCode() ํจ์์ ๋ํด์ ์์๋ณด๋๋ก ํ๊ฒ ๋ค. ์ฌ์ค ๋น์ ๊ณต์์ธ ๋๋ ์์คํค์ฝ๋์ ๋ํ ๊ฐ๋
์ ์๋
์ ์ฝํ
๋ฌธ์ ๋ฅผ ํ๋ฉฐ ์ฒ์ ์ ํ๊ฒ ๋์์๋๋ฐ, ๊ทธ๋ ์ ๋ฆฌํด๋ ๋ด์ฉ์ ์ฎ๊ฒจ๋ด์๋ณธ๋ค. ์ฐธ๊ณ ๋ก ํด๋น ๊ฐ๋
์ ์ด์ฉํ ๋ฌธํ๋ ๋ฐ๋ก ์ ๋ฆฌํด๋๋ค.
ASCII
ASCII(์ ๋ณด ๊ตํ์ ์ํ ๋ฏธ๊ตญ ํ์ค ์ฝ๋)๋ ๊ฐ ๋ฌธ์์ ์ซ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ปดํจํฐ์์ ํ
์คํธ๋ฅผ ๋ํ๋ด๋ ๋ฌธ์ ์ธ์ฝ๋ฉ ํ์ค. ์ฌ๊ธฐ์๋ ๋ฌธ์, ์ซ์, ๊ตฌ๋์ ๋ฐ ์ ์ด ๋ฌธ์๋ก ๊ตฌ์ฑ๋ 128๊ฐ์ ๋ฌธ์๊ฐ ํฌํจ๋์ด ์์ด ์ฅ์น์ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ์ ํ
์คํธ ๋ฐ์ดํฐ ๊ตํ์ ์ฉ์ดํ๋ค.
์ฐธ๊ณ ๋ก ์๋๋ ์์คํค ์ฝ๋๋ฅผ ์ด์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํ์๋ ์ ๋ฆฌ๊ธ
[๋ฐฑ์ค] ์ด ๊ตฌ์ญ์ ์น์๋ ๋๊ตฌ์ผ? 20154
๐ค ๋ฌธ์ https://www.acmicpc.net/problem/20154 1. ๋ฌธ์ ๋ด์ฉ ๊ฐํจ๋ฆญ๋ํ๊ต์ ๋ค๋๋ ์ปดํจํฐ์ ๋ณด๊ณตํ๋ถ ํฉํจ๋ฆญ์ ์ฝ๋ก๋ ๋๋ฌธ์ ์ฌํผํ๋ ์น๊ตฌ๋ค์ ์ํด ๊ฒ์์ ํ๋ ๋ง๋ค์๋ค.๊ฒ์์ด ์์๋๋ฉด ์ํ๋ฒณ
haileyham.tistory.com
๐ฃ charCodeAt()
1. ๊ฐ๋
charCodeAt() ๋ฉ์๋๋ ๋ฌธ์์ด์ ์ง์ ๋ ์ธ๋ฑ์ค์ ์๋ ๋ฌธ์์ ์ ๋์ฝ๋ ๊ฐ(ASCII ์ฝ๋)์ ๋ฐํํ๋ ๋ฐ ์ฌ์ฉ
String.prototype.charCodeAt() - JavaScript | MDN
String ๊ฐ์ charCodeAt() ๋ฉ์๋๋ ์ฃผ์ด์ง ์ธ๋ฑ์ค์ UTF-16 ์ฝ๋ ๋จ์๋ฅผ ํํํ๋ 0๊ณผ 65535 ์ฌ์ด์ ์ ์๋ฅผ ๋ฐํํฉ๋๋ค.
developer.mozilla.org
2. ์ฝ๋
let str = 'Hello';
let code = str.charCodeAt(0); // 72 (ASCII code 'H')
console.log(code); // 72
code = str.charCodeAt(4); // 111 (ASCII code 'o')
console.log(code); // 111
code = str.charCodeAt(5); // NaN (index out of range)
console.log(code); // NaN
๐ฃ fromCharCode()
1. ๊ฐ๋
fromCharCode() ๋ฉ์๋๋ JavaScript์์ String ๊ฐ์ฒด์ ์ ์ ๋ฉ์๋. ์ ๋์ฝ๋ ๊ฐ์ ์ํ์ค์์ ๋ฌธ์์ด์ ๋ง๋๋ ๋ฐ ์ฌ์ฉ
2. ์ฝ๋
//num1, num2, ..., numN: ์ ๋์ฝ๋ ๊ฐ์ ๋ํ๋ด๋ ์ผ๋ จ์ ์ซ์
String.fromCharCode(num1, num2, ..., numN)
let char = String.fromCharCode(72); // 'H'
console.log(char); // 'H'
let chars = String.fromCharCode(72, 101, 108, 108, 111); // 'Hello'
console.log(chars); // 'Hello'
chars = String.fromCharCode(87, 111, 114, 108, 100); //'World'
console.log(chars); // 'World'
๐ฃ ์ ๋ฆฌ
charCodeAt()
๋ฌธ์์ด์ ํน์ ์ธ๋ฑ์ค์ ์๋ ๋ฌธ์์ ์ ๋์ฝ๋ ๊ฐ(ASCII ์ฝ๋)์ ๊ฐ์ ธ์ค๋ ๋ฐ ์ฌ์ฉ
fromCharCode()
์ ๋์ฝ๋ ๊ฐ ์ํ์ค์์ ๋ฌธ์์ด์ ๋ง๋๋ ๋ฐ ์ฌ์ฉ