JavaScript

[JavaScript] ๋ฌธ์ž์—ด ๋น„๊ต

๋ฒผ๋ฆฌ01 2024. 10. 7. 11:23

๋ฌธ์ž์—ด ์ƒ์ˆ˜ ํ’€(string constant pool)

์ž๋ฐ”๊ฐ€ ๋ฌธ์ž์—ด์„ string pool์—์„œ ๊ด€๋ฆฌํ•˜๋“ฏ์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” string constant pool์—์„œ ๋ฌธ์ž์—ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค. ๋งŒ์•ฝ ์ด๋ฏธ ๋ฉ”๋ชจ๋ฆฌ์— ํ• ๋‹น๋œ ๋ฌธ์ž์—ด์ด ์žˆ๋‹ค๋ฉด, ์ƒˆ ๋ณ€์ˆ˜์— ํ•ด๋‹น ๋ฌธ์ž์—ด์„ ํ• ๋‹นํ•˜๋”๋ผ๋„ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ์ฃผ์†Œ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

 

How are strings stored in JavaScript ? - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

 

 

๋ฌธ์ž์—ด ๋น„๊ต ์—ฐ์‚ฐ

let str1 = "Hello";
let str2 = "Hello";

console.log(`str1 === str3 : ${str1 === str2}`);

// str1 === str3 : true

 

let str1 = "Hello";
let str2 = new String("Hello");

console.log(`str1 == str3 : ${str1 == str2}`);
console.log(`str1 === str3 : ${str1 === str2}`);

// str1 == str3 : true
// str1 === str3 : false

 

 

`===` ๋Š” ์ฃผ์†Œ๊ฐ’๊ณผ ์ž๋ฃŒํ˜•๊นŒ์ง€ ๊ฒ€์‚ฌํ•œ๋‹ค. `str2` ๋ฅผ `new` ์—ฐ์‚ฐ์ž ์—†์ด ์‚ฌ์šฉํ–ˆ์„ ๊ฒฝ์šฐ ๊ฐ™์€ ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด์˜ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฐธ์ด ๋˜์ง€๋งŒ, `new String()` ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ๋‹ค๋ฅธ ์ฃผ์†Œ๊ฐ’์„ ๊ฐ€์ง„ ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด์ด ๋œ๋‹ค.

 

 

console.log(`2024 == '2024' : ${2024 == "2024"}`);
console.log(`2024 === '2024' : ${2024 === "2024"}`);

// 2024 == '2024' : true
// 2024 === '2024' : false

 

 

 

`localeCompare()`

 

๋ฌธ์ž์—ด ๋น„๊ต ์‹œ ์ •๋ ฌ ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ์— ์‚ฌ์šฉํ•œ๋‹ค. 

`-1` `a`๊ฐ€ `b`๋ณด๋‹ค ์‚ฌ์ „์ˆœ์œผ๋กœ ์•ž์— ์œ„์น˜ํ•จ

`0` `a`์™€ `b`๊ฐ€ ๊ฐ™์Œ

`1` `a`๊ฐ€ `b`๋ณด๋‹ค ์‚ฌ์ „์ˆœ์œผ๋กœ ๋’ค์— ์œ„์น˜ํ•จ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ [Lv.1][๋ฌธ์ž์—ด ๋‚ด ๋งˆ์Œ๋Œ€๋กœ ์ •๋ ฌํ•˜๊ธฐ] ๋ฌธ์ œ์—์„œ, ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด ๋ฐฐ์—ด์„ ๋ฌธ์ž์—ด์˜ ์‚ฌ์ „์ˆœ์ด ์•„๋‹Œ ๋‘๋ฒˆ์งธ ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•˜๊ณ ์ž ํ•  ๋•Œ(๋‹จ, ๋™์ผํ•˜๋ฉด ๋ฌธ์ž์—ด ์ „์ฒด์˜ ์‚ฌ์ „์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.) ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

function solution(strings, n) {
    return strings.sort( (a, b) => {

        if(a.charAt(n) < b.charAt(n)){
            return -1;
        }else if(a.charAt(n) > b.charAt(n)){
            return 1;
        }

        return a.localeCompare(b);

    });

}