[ํ๋ก๊ทธ๋๋จธ์ค] Lv1: ๋ถ์กฑํ ๊ธ์ก ๊ณ์ฐํ๊ธฐ
๋ฌธ์ ์ค๋ช
์๋ก ์๊ธด ๋์ด๊ธฐ๊ตฌ๋ ์ธ๊ธฐ๊ฐ ๋งค์ฐ ๋ง์ ์ค์ด ๋์ด์ง ์์ต๋๋ค. ์ด ๋์ด๊ธฐ๊ตฌ์ ์๋ ์ด์ฉ๋ฃ๋ price์ ์ธ๋ฐ, ๋์ด๊ธฐ๊ตฌ๋ฅผ N ๋ฒ ์งธ ์ด์ฉํ๋ค๋ฉด ์๋ ์ด์ฉ๋ฃ์ N๋ฐฐ๋ฅผ ๋ฐ๊ธฐ๋ก ํ์์ต๋๋ค. ์ฆ, ์ฒ์ ์ด์ฉ๋ฃ๊ฐ 100์ด์๋ค๋ฉด 2๋ฒ์งธ์๋ 200, 3๋ฒ์งธ์๋ 300์ผ๋ก ์๊ธ์ด ์ธ์๋ฉ๋๋ค.
๋์ด๊ธฐ๊ตฌ๋ฅผ count๋ฒ ํ๊ฒ ๋๋ฉด ํ์ฌ ์์ ์ด ๊ฐ์ง๊ณ ์๋ ๊ธ์ก์์ ์ผ๋ง๊ฐ ๋ชจ์๋ผ๋์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์.
๋จ, ๊ธ์ก์ด ๋ถ์กฑํ์ง ์์ผ๋ฉด 0์ return ํ์ธ์.
์ ํ์ฌํญ
์ ์ถ๋ ฅ ์
price | money | count | result |
---|---|---|---|
3 | 20 | 4 | 10 |
function solution(price, money, count) {
var answer = money;
let sumPrice = 0;
for (let i = 1; i <= count; i++) {
sumPrice += price * i;
}
return sumPrice - answer <= 0 ? 0 : sumPrice - answer;
}
๊ตฌํ ์ ๊ทผ
1. count ๋งํผ ์ฆ๊ฐ๋๋ price์ ์ดํฉ์ sumPrice์ ํ ๋น
2. sumPrice - answer ํด์ ๊ธ์ก์ด ๋ชจ์๋ผ์ง ์๋๋ค๋ฉด 0์ ๋ฐํ
3. ๊ทธ๋ ์ง ์์ผ๋ฉฐ ๋ถ์กฑํ ๋งํผ์ ๋์ ๋ฐํ์ ์ผํญ ์ฐ์ฐ์ผ๋ก ํ์ด.
#1
function solution(price, money, count) {
const tmp = price * count * (count + 1) / 2 - money;
return tmp > 0 ? tmp : 0;
}
ํ์ด
๊ฐ์ฐ์ค ๊ณต์์ ์ํ ํ์ด ๊ณต์.
๊ฐ์ฐ์ค ๊ณต์|์์ฑ์ windrew
๊ฐ์ฐ์ค ๊ณต์์ด๋
: ๋ฑ์ฐจ์์ด์ ํฉ ๊ฐ์ฐ์ค๋ 1๋ถํฐ 100๊น์ง์ ํฉ์ ๊ตฌํ ๋ 1~100์ 100~1๊น์ง ์์๋ก ๋ค์ ๋ํ ๋ค์ 2๋ก ๋๋์ด ํฉ์ ๊ตฌํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
1๋ถํฐ 100๊น์ง์ ํฉ์ S๋ก ๋๋ฉด
S = 1 + 2 + 3 + 4 + 5 + 6 + ... + 99 + 100
S = 100 + 99 + 98 + 97 + 96 + 95 + 94 + ... +2 + 1
์ด๋ฏ๋ก
2S = 101 100์ด๋ค.
๊ทธ๋ฌ๋ฏ๋ก
S = 101 50 = 5050์ด๋ค.
์ด๊ฑธ n์ ๋ํด ํ์ฅํ๋ฉด 1๋ถํฐ n๊น์ง์ ํฉ์ (n+1)*n/2์ธ ๊ฒ์ ์ ์ ์๊ณ ,
์ผ๋ฐ์ ์ธ ๋ ์์ฐ์ a,b(a<=b)์ ๋ํด์ a๋ถํฐ b๊น์ง์ ์์ฐ์์ ํฉ์ (a+b)(b-a+1)/2์ธ ๊ฒ๋ ์ฝ๊ฒ ์ ์ ์๋ค.
์ด์ ์๋ฅผ ์ ์ฉํ๊ฒ ์จ๋จน์ ๋ฌธ์ ๋ฅผ ์ฐพ์์ ์จ๋จน์ผ๋ฉด ๋๋ค.
#2
function solution(price, money, count) {
let answer = 0;
for (let i = 1; i <= count; i++) {
answer += price * i;
}
return answer > money ? answer - money : 0;
}
ํ์ด
๊ตณ์ด price๋ฅผ ํฉํ ๊ฐ์ ์๋ก์ด ๋ณ์์ ํ ๋นํ์ฌ ์ผํญ์ฐ์ฐ์๋ฅผ ์ด์ฉํ ํ์๊ฐ ์์๋ค.
[ํ๋ก๊ทธ๋๋จธ์ค] Lv2: ์ต๋๊ฐ๊ณผ ์ต์๊ฐ
๋ฌธ์ ์ค๋ช
๋ฌธ์์ด s์๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ ์ซ์๋ค์ด ์ ์ฅ๋์ด ์์ต๋๋ค. str์ ๋ํ๋๋ ์ซ์ ์ค ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ์ฐพ์ ์ด๋ฅผ "(์ต์๊ฐ) (์ต๋๊ฐ)"ํํ์ ๋ฌธ์์ด์ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํ์ธ์.
์๋ฅผ๋ค์ด s๊ฐ "1 2 3 4"๋ผ๋ฉด "1 4"๋ฅผ ๋ฆฌํดํ๊ณ , "-1 -2 -3 -4"๋ผ๋ฉด "-4 -1"์ ๋ฆฌํดํ๋ฉด ๋ฉ๋๋ค.
์ ํ์ฌํญ
์ ์ถ๋ ฅ ์
price | result |
---|---|
"1 2 3 4" | "1 4" |
"-1 -2 -3 -4" | "-4 -1" |
"-1 -1" | "-1 -1" |
function solution(s) {
var answer = s.split(" ");
let max = Math.max(...answer);
let min = Math.min(...answer);
return min + " " + max;
}
๊ตฌํ ์ ๊ทผ
1. split ๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ ํด๋น ๊ณต๋ฐฑ์ ํฌํจํ ๋ฌธ์์ด์ ๋ฐํ.
2. max ๋ณ์์ min ๋ณ์ ์ ์ธ ํ Math.max,min ๋ฉ์๋ ํ์ฉ.
3. ๋ฉ์๋์ ์ธ์๋ก ์คํ๋ ๋ ๋ฌธ๋ฒ ๋ฐฐ์ด์ ํ ๋นํ๋ฉด ํด๋น ๋ฐฐ์ด์ด ์ ๋ถ ์ธ์๋ก ํ ๋น.
#1
function solution(s) {
const arr = s.split(' ');
return Math.min(...arr)+' '+Math.max(...arr);
}
ํ์ด
1. return์ ํตํด ํ์ค๋ก ์ฝ๋๋ฅผ ๊ฐ์ ์ด ๊ฐ๋ฅํ๋๋ผ,,
#2
function solution(s) {
var arr = s.split(' ');
arr.sort((a, b) => a - b);
var answer = arr[0] + " " + arr[arr.length-1];
return answer;
}
ํ์ด
1. sort๋ฅผ ์ ์ฉํ์ฌ ํด๋น ๊ณต๋ฐฑ์ ํฌํจํ ๋ฐฐ์ด์ ์ ๋ ฌ.
2. ๋๊ดํธ๋ฅผ ํตํด ์ ๋ ฌ ๋ ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ฅผ ๋ถ๋ฌ์ " "์ ํฌํจํ ๊ฐ์ ์ฐ์ฐ.
[ํ๋ก๊ทธ๋๋จธ์ค] Lv1 : ํ๋ ฌ์ ๋ง์
๋ฌธ์ ์ค๋ช
ํ๋ ฌ์ ๋ง์
์ ํ๊ณผ ์ด์ ํฌ๊ธฐ๊ฐ ๊ฐ์ ๋ ํ๋ ฌ์ ๊ฐ์ ํ, ๊ฐ์ ์ด์ ๊ฐ์ ์๋ก ๋ํ ๊ฒฐ๊ณผ๊ฐ ๋ฉ๋๋ค. 2๊ฐ์ ํ๋ ฌ arr1๊ณผ arr2๋ฅผ ์
๋ ฅ๋ฐ์, ํ๋ ฌ ๋ง์
์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
์ ์ถ๋ ฅ ์
arr1 | arr2 | return |
---|---|---|
[[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
function solution(arr1, arr2) {
var answer = [];
for (let i = 0; i < arr1.length; i++) {
let sum = [];
for (let j = 0; j < arr1[i].length; j++) {
sum.push(arr1[i][j] + arr2[i][j]);
}
answer.push(sum);
}
return answer;
}
๊ตฌํ ์ ๊ทผ
1. ๋ค์ฐจ์ ๋ฐฐ์ด์ ํตํ ๋ฐฐ์ด๋ณ ์ธ๋ฑ์ค ํฉ์ ๊ตฌํด์ผ ํ๊ธฐ์ 2์ค for๋ฌธ ์ฌ์ฉ
2. ๋น ๋ฐฐ์ด sum์๋ค ๊ฐ ๋ฐฐ์ด์ด ๊ฐ๋ ์ธ๋ฑ์ค ๋ณ๋ก ํฉ์ ์ค ๊ฐ์ push.
3. ๋ ๊ฐ๊ฐ ํธ์ฌ ๋ ๋ฐฐ์ด์ answer์ ํธ์ฌ.
์ถ์ฒ : ์๋ฐ์คํฌ๋ฆฝํธ info
#1
function sumMatrix(A,B){
return A.map((arr1, idx1) => arr1.map((val, idx2) => val+B[idx1][idx2]));
}
ํ์ด
1. map ๋ฉ์๋๋ฅผ ๋๋ฒ ์ ์ฉํ์ฌ ๋ฐ๋ณต๋ฌธ์ ๋ง๋ค์๋ค.
๋์ฒด ์ด๋ฐ ์ฝ๋๋ ์ด๋ป๊ฒ ์์ฑํ ์ ์๋ ๊ฒ์ธ๊ฐ,,
๊ตฌ์ฒด์ ์ธ ์ดํด๊ฐ ํ์ํด์ gpt์๊ฒ ๋ฌผ์ด๋ดค๋ค.
์ด ๊ณผ์ ์ ์ดํดํ๊ณ ๋์ ๋ค์ ๊ณผ์ ๋ ์จ๋จน์ ์ ์์ผ๋ฉด ์ข๊ฒ ๊ตฐ,
#2
function solution(arr1, arr2) {
var answer = [[]];
for (var i=0; i<arr1.length; i++){
answer[i] =[];
for(var j=0; j<arr1[i].length; j++){
answer[i].push(arr1[i][j] + arr2[i][j]);
}
}
return answer;
}
ํ์ด
1. ์ ์ฝ๋ ์ญ์ 2์ค for๋ฌธ์ ํตํด ์ธ๋ฑ์ค ๋ณ ์ธ๋ฑ์ค์ ๊ฐ์ ๋ํด push ํ๋ ๊ฒ.
2. ๊ทธ๋ฌ๋ ๋ ์ฒ๋ผ sum ๋น๋ฐฐ์ด์ ๋ง๋๋ ๊ฒ์ด ์๋ ํด๋น ๋ด์์ผ ํ ์ธ๋ฑ์ค ์์ฒด์ ๋น๋ฐฐ์ด์ ๋ง๋๋ ๊ฒ.
์ง๊ธ์ ์ฝ๋๊ฐ ๋ ๊ฐ๊ฒฐํ๊ฒ ์ดํด๊ฐ ๋๋ ๊ฒ ๊ฐ๋ค.