๐Ÿ’ป Programming/Algorithm

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv. 0] ํŠน์ˆ˜๋ฌธ์ž ์ถœ๋ ฅํ•˜๊ธฐ

Jiwon() 2023. 8. 13. 16:27

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด
์‚ฌ์šฉ ์–ธ์–ด - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ JavaScript JS

1. ํŠน์ˆ˜๋ฌธ์ž ์ถœ๋ ฅํ•˜๊ธฐ

1) โ“ ๋ฌธ์ œ ์„ค๋ช…

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถœ๋ ฅํ•˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.

 

2) โœ… ์ž…์ถœ๋ ฅ ์˜ˆ

!@#$%^&*(\'"<>?:;

 


2. ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž

์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž๋ž€ ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค๋ฅผ ๋”ฐ๋ฅด๋Š” ๋ฌธ์ž๋“ค๋กœ์„œ, ๋‹ค์Œ ๋ฌธ์ž๊ฐ€ ํŠน์ˆ˜๋ฌธ์ž์ž„์„ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋ฉฐ ๋ฐฑ์Šฌ๋ž˜์‹œ(\)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

1) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ์˜ ํŠน์ˆ˜ ๋ฌธ์ž

ํŠน์ˆ˜๋ฌธ์ž ์„ค๋ช…
\n ์ค„ ๋ฐ”๊ฟˆ
\r ์บ๋ฆฌ์ง€ ๋ฆฌํ„ด(carriage return). Windows์—์„  ์บ๋ฆฌ์ง€ ๋ฆฌํ„ด๊ณผ ์ค„ ๋ฐ”๊ฟˆ ํŠน์ˆ˜ ๋ฌธ์ž๋ฅผ ์กฐํ•ฉ(\r\n)ํ•ด ์ค„์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์บ๋ฆฌ์ง€ ๋ฆฌํ„ด์„ ๋‹จ๋…์œผ๋ก  ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์—†์Šต๋‹ˆ๋‹ค.
\', \" ๋”ฐ์˜ดํ‘œ
\\ ์—ญ์Šฌ๋ž˜์‹œ
\t ํƒญ
\b, \f, \v ๊ฐ๊ฐ ๋ฐฑ์ŠคํŽ˜์ด์Šค(Backspace), ํผ ํ”ผ๋“œ(Form Feed), ์„ธ๋กœ ํƒญ(Vertical Tab)์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ํ˜ธํ™˜์„ฑ ์œ ์ง€๋ฅผ ์œ„ํ•ด ๋‚จ์•„์žˆ๋Š” ๊ธฐํ˜ธ๋กœ ์š”์ฆ˜์—” ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
\xXX 16์ง„์ˆ˜ ์œ ๋‹ˆ์ฝ”๋“œ XX๋กœ ํ‘œํ˜„ํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๊ธ€์ž์ž…๋‹ˆ๋‹ค(์˜ˆ์‹œ: ์•ŒํŒŒ๋ฒณ 'z'๋Š” '\x7A'์™€ ๋™์ผํ•จ).
\uXXXX UTF-16 ์ธ์ฝ”๋”ฉ ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜๋Š” 16์ง„์ˆ˜ ์ฝ”๋“œ XXXX๋กœ ํ‘œํ˜„ํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๊ธฐํ˜ธ์ž…๋‹ˆ๋‹ค. XXXX๋Š” ๋ฐ˜๋“œ์‹œ ๋„ค ๊ฐœ์˜ 16์ง„์ˆ˜๋กœ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ์‹œ: \u00A9๋Š” ์ €์ž‘๊ถŒ ๊ธฐํ˜ธ ©์˜ ์œ ๋‹ˆ์ฝ”๋“œ์ž„).
\u{X...XXXXXX} UTF-32๋กœ ํ‘œํ˜„ํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๊ธฐํ˜ธ์ž…๋‹ˆ๋‹ค. ๋ช‡๋ช‡ ํŠน์ˆ˜ํ•œ ๊ธ€์ž๋Š” ๋‘ ๊ฐœ์˜ ์œ ๋‹ˆ์ฝ”๋“œ ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด ์ธ์ฝ”๋”ฉ๋˜๋ฏ€๋กœ 4๋ฐ”์ดํŠธ๋ฅผ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ธด ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

2) ์œ ๋‹ˆ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ์˜ˆ์‹œ

 


3. ๋‹ต์•ˆ

1) ๋‚˜์˜ ํ’€์ด

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

rl.on('close', function () {
    console.log(`!@#$%^&*(\\'"<>?:;`)
});

// ์ •๋‹ต: console.log(`!@#$%^&*(\\'"<>?:;`) // !@#$%^&*(\'"<>?:;
// ํ‹€๋ฆฐ ๋‹ต: console.log(`!@#$%^&*(\'"<>?:;`) // !@#$%^&*('"<>?:;