๐ก CodeKataํ๋ก๊ทธ๋๋จธ๊ฐ ์ฐ์ต๊ณผ ๋ฐ๋ณต์ ํตํด ๊ธฐ์ ์ ์ฐ๋งํ๋๋ก ๋๋ ํ๋ก๊ทธ๋๋ฐ ์ฐ์ต
twoSumํจ์์ ์ซ์๋ฐฐ์ด๊ณผ 'ํน์ ์'๋ฅผ ์ธ์๋ก ๋๊ธฐ๋ฉด,๋ํด์ 'ํน์ ์'๊ฐ ๋์ค๋ index๋ฅผ ๋ฐฐ์ด์ ๋ด์ returnํด ์ฃผ์ธ์.
nums: ์ซ์ ๋ฐฐ์ด
target: ๋ ์๋ฅผ ๋ํด์ ๋์ฌ ์ ์๋ ํฉ๊ณ
return: ๋ ์์ index๋ฅผ ๊ฐ์ง ์ซ์ ๋ฐฐ์ด
์๋ฅผ ๋ค์ด,
nums์ [4, 9, 11, 14]target์ 13nums[0] + nums[1] = 4 + 9 = 13 ์ด์ฃ ?๊ทธ๋ฌ๋ฉด [0, 1]์ด return ๋์ด์ผ ํฉ๋๋ค.
# ๊ฐ์
target์ผ๋ก ๋ณด๋ด๋ ํฉ๊ณ์ ์กฐํฉ์ ๋ฐฐ์ด ์ ์ฒด ์ค์ 2๊ฐ ๋ฐ์ ์๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค.
//๋ด๊ฐ ์ฒ์ ๊ตฌํํ ๋ก์ง
const twoSum = (nums, target) => {
for (let i = 0; i < nums.length; i++){
for (let j = 0; j < nums.length; j++){
if (target == nums[i] + nums[j]){
return nums[i, j]
}
}
}
};
//ํ์๊ณผ ํจ๊ปํ ๋ ๊ฐ๋จํ ๋ก์ง
const twoSum = (nums, target) => {
for (let i = 0; i < nums.length-1; i++){
for (let j = i+1; j < nums.length; j++){
if(target == nums[i] + nums[j]){
return [i, j]
}
}
}
};
๋ก์ง ์์ฒด๊ฐ ์งง์์ง๊ฑด ์๋์ง๋ง,๐ i๋ฅผ ์ ์ธํด์ค for๋ฌธ์์ย i < nums.length-1์ ์ฌ์ฉํจ์ผ๋ก์จ ๋ฐฐ์ด์ ๋ง์ง๋ง ์์๊น์ง๋ง for๋ฌธ์ ๋๋ฆฌ๊ณ โ๏ธ j๋ฅผ ์ ์ธํด์ค for๋ฌธ์์ย j = i+1๋ฅผ ์ฌ์ฉํด j๊ฐ i์ ๋ค์ ์ธ๋ฑ์ค์ ๋น๊ต ๋ ์ ์๋๋ก ํด์คฌ๋ค
๐ ์ด์ค for๋ฌธ ์์์ ํ์์๋ ๋ถ๋ถ์ ๋์ด์ฃผ๊ณ ์คํ๋ ์ ์๊ฒ ๊ตฌํํ๋ค.
reverse ํจ์์ ์ ์์ธ ์ซ์๋ฅผ ์ธ์๋ก ๋ฐ์ต๋๋ค.๊ทธ ์ซ์๋ฅผ ๋ค์ง์ด์ returnํด์ฃผ์ธ์.
x: ์ซ์return: ๋ค์ง์ด์ง ์ซ์๋ฅผ ๋ฐํ!
์๋ค ๋ค์ด,x: 1234return: 4321
x: -1234return: -4321
x: 1230return: 321
const reverse = (x) => {
const str = x.toString().split('');
const rev = str.reverse();
const line = rev.indexOf('-');
if(line !== -1){
return Number('-'+rev.splice(0, line).join(''));
}
if(rev[0] === '0'){
return Number(rev.slice(1, rev.length).join(''))
}
return Number(rev.join(''))
}
๐ ๋ค์ํ ๋ฉ์๋๋ฅผ ์ฌ์ฉํด๋ณด๊ณ ๋ฐฐ์ด์ ๋ํ ์ ๋ฆฌ๊ฐ ๋์๋ค.