ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ํ์ด
์ฌ์ฉ ์ธ์ด ์๋ฐ์คํฌ๋ฆฝํธ JavaScript JS
1. ํ๋ก๊ทธ๋๋จธ์ค Lv. 0 ์ธ๋ฑ์ค ๋ฐ๊พธ๊ธฐ
1) ๋ฌธ์ ์ค๋ช
๋ฌธ์์ด my_string๊ณผ ์ ์ num1, num2๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, my_string์์ ์ธ๋ฑ์ค num1๊ณผ ์ธ๋ฑ์ค num2์ ํด๋นํ๋ ๋ฌธ์๋ฅผ ๋ฐ๊พผ ๋ฌธ์์ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์.
2) ์ ํ ์ฌํญ
- 1 < my_string์ ๊ธธ์ด < 100
- 0 ≤ num1, num2 < my_string์ ๊ธธ์ด
- my_string์ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- num1 ≠ num2
3) ์ ์ถ๋ ฅ ์
my_string | num1 | num2 | result |
"hello" | 1 | 2 | "hlelo" |
"i love you" | 3 | 6 | " i l veoyou" |
2. ์ฌ์ฉํ ๋ฉ์๋: splice()
Array.prototype.splice()
splice() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ธฐ์กด ์์๋ฅผ ์ญ์ ๋๋ ๊ต์ฒดํ๊ฑฐ๋ ์ ์์๋ฅผ ์ถ๊ฐํ์ฌ ๋ฐฐ์ด์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๋ค.
splice : (๋ฐง์ค์ ๋ ๋์ ํจ๊ป ๊ผฌ์์) ์๋ค
const months = ['Jan', 'March', 'April', 'June'];
months.splice(1, 0, 'Feb');
// Inserts at index 1
console.log(months);
// Expected output: Array ["Jan", "Feb", "March", "April", "June"]
months.splice(4, 1, 'May');
// Replaces 1 element at index 4
console.log(months);
// Expected output: Array ["Jan", "Feb", "March", "April", "May"]
// ๊ตฌ๋ฌธ
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
1) ๋งค๊ฐ๋ณ์
start
- ๋ฐฐ์ด์ ๋ณ๊ฒฝ์ ์์ํ index
- ๋ฐฐ์ด์ ๊ธธ์ด๋ณด๋ค ํฐ ๊ฐ์ด๋ผ๋ฉด ์ค์ ์์ ์ธ๋ฑ์ค๋ ๋ฐฐ์ด์ ๊ธธ์ด๋ก ์ค์ ๋จ
- ์์์ธ ๊ฒฝ์ฐ ๋ฐฐ์ด์ ๋์์๋ถํฐ ์์๋ฅผ ์ธ์ด๋๊ฐ๋ค.(์์ -1, ์ฆ -n์ด๋ฉด ์์ ๋์ n๋ฒ์งธ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ฉฐ array.length - n๋ฒ์งธ ์ธ๋ฑ์ค์ ๊ฐ์)
- ๊ฐ์ ์ ๋๊ฐ์ด ๋ฐฐ์ด์ ๊ธธ์ด ๋ณด๋ค ํฐ ๊ฒฝ์ฐ 0์ผ๋ก ์ค์ ๋จ
deleteCount
- ๋ฐฐ์ด์์ ์ ๊ฑฐํ ์์์ ์์ด๋ฉฐ, optionalํ ๋งค๊ฐ๋ณ์
- deleteCount๋ฅผ ์๋ตํ๊ฑฐ๋ ๊ฐ์ด array.length - start๋ณด๋ค ํฌ๋ฉด start๋ถํฐ์ ๋ชจ๋ ์์๋ฅผ ์ ๊ฑฐ
- deleteCount๊ฐ 0 ์ดํ๋ผ๋ฉด ์ด๋ค ์์๋ ์ ๊ฑฐํ์ง ์๊ณ , ์ด ๋ ์ต์ํ ํ๋์ ์๋ก์ด ์์๋ฅผ ์ง์ ํด์ผ ํจ
item1, item2, <em>...</em>
- ๋ฐฐ์ด์ ์ถ๊ฐํ ์์
- ์๋ฌด ์์๋ ์ง์ ํ์ง ์์ผ๋ฉด splice()๋ ์์๋ฅผ ์ ๊ฑฐํ๊ธฐ๋ง ํจ
2) ๋ฐํ ๊ฐ
- ์ ๊ฑฐํ ์์๋ฅผ ๋ด์ ๋ฐฐ์ด์ ๋ฐํ
- ํ๋์ ์์๋ง ์ ๊ฑฐํ ๊ฒฝ์ฐ ๊ธธ์ด๊ฐ 1์ธ ๋ฐฐ์ด์ ๋ฐํ
- ์๋ฌด ๊ฐ๋ ์ ๊ฑฐํ์ง ์์์ผ๋ฉด ๋น ๋ฐฐ์ด์ ๋ฐํ
3. ๋ต์
1) ๋์ ํ์ด
const solution = (my_string, num1, num2) => {
const result = [...my_string]
result.splice(num1, 1, my_string[num2])
result.splice(num2, 1, my_string[num1])
return result.join("")
}
2) ๋ค๋ฅธ ์ฌ๋์ ํ์ด
// ๊ตฌ์กฐ๋ถํดํ ๋น
function solution(my_string, num1, num2) {
my_string = my_string.split('');
[my_string[num1], my_string[num2]] = [my_string[num2], my_string[num1]];
return my_string.join('');
}
'๐ป Programming > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค Lv. 0] 369๊ฒ์ (0) | 2023.08.02 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค Lv. 1] ์ฝ๋ผ์ธ ์ถ์ธก (0) | 2023.08.02 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv. 0] ๊ฐ๊น์ด 1 ์ฐพ๊ธฐ (0) | 2023.07.28 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv. 0] ํน๋ณํ ์ด์ฐจ์ ๋ฐฐ์ด 2 (0) | 2023.07.28 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv. 0] ๋ฐฐ์ด ํ์ ์ํค๊ธฐ (2) | 2023.07.26 |