๐ 1. ๋ฌธ์
[Programmers, Level1] ๋ ๊ฐ ๋ฝ์์ ๋ํ๊ธฐ (์ ๋ ฌ)
์ ์ ๋ฐฐ์ด numbers๊ฐ ์ฃผ์ด์ง๋๋ค. numbers์์ ์๋ก ๋ค๋ฅธ ์ธ๋ฑ์ค์ ์๋ ๋ ๊ฐ์ ์๋ฅผ ๋ฝ์ ๋ํด์ ๋ง๋ค ์ ์๋ ๋ชจ๋ ์๋ฅผ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
numbers
[2,1,3,4,1]
result
[2,3,4,5,6,7]
โ ํ์ด
function solution(numbers) {
let answer = [];
for (let i = 0; i < numbers.length; i++) {
for (let j = i + 1; j < numbers.length; j++) {
answer.push(numbers[i] + numbers[j]);
}
}
const arr = [...new Set(answer)];
const result = arr.sort((a, b) => a - b);
return result;
}
const set = new Set(array)
set ๊ฐ์ฒด๋ฅผ ์ด์ฉํ์ฌ ์ค๋ณต์๋ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค๊ณ , set๊ฐ์ฒด๋ก ์ค๋ณต์ ์ ๊ฑฐํ ํ, Spread Operator, ์ ๊ฐ์ฐ์ฐ์[...set]
๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ๋ฐฐ์ด๋ก ๋ณํํ๋ค.
๐ 2. ๋ฌธ์
[Programmers, Level1] K๋ฒ์งธ์
๋ฐฐ์ด array์ i๋ฒ์งธ ์ซ์๋ถํฐ j๋ฒ์งธ ์ซ์๊น์ง ์๋ฅด๊ณ ์ ๋ ฌํ์ ๋, k๋ฒ์งธ์ ์๋ ์๋ฅผ ๊ตฌํ๋ ค ํฉ๋๋ค.
์๋ฅผ ๋ค์ด array๊ฐ [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3์ด๋ผ๋ฉด
array์ 2๋ฒ์งธ๋ถํฐ 5๋ฒ์งธ๊น์ง ์๋ฅด๋ฉด [5, 2, 6, 3]์ ๋๋ค. 1์์ ๋์จ ๋ฐฐ์ด์ ์ ๋ ฌํ๋ฉด [2, 3, 5, 6]์ ๋๋ค. 2์์ ๋์จ ๋ฐฐ์ด์ 3๋ฒ์งธ ์ซ์๋ 5์ ๋๋ค.
array
[1, 5, 2, 6, 3, 7, 4]
commands
[[2, 5, 3], [4, 4, 1], [1, 7, 3]]
return
[5, 6, 3]
โ ํ์ด
function solution(array, commands) {
let answer = [];
for (let i = 0; i < commands.length; i++) {
const arr = array.slice(commands[i][0] - 1, commands[i][1]);
const result = arr.sort((a, b) => a - b);
answer.push(result[commands[i][2] - 1]);
}
return answer;
}
๐ 3. ๋ฌธ์
[Programmers, Level1] K๋ฒ์งธ์
๋จ์ด s์ ๊ฐ์ด๋ฐ ๊ธ์๋ฅผ ๋ฐํํ๋ ํจ์, solution์ ๋ง๋ค์ด ๋ณด์ธ์. ๋จ์ด์ ๊ธธ์ด๊ฐ ์ง์๋ผ๋ฉด ๊ฐ์ด๋ฐ ๋๊ธ์๋ฅผ ๋ฐํํ๋ฉด ๋ฉ๋๋ค.
์ฌํ์ฌํญ
s๋ ๊ธธ์ด๊ฐ 1 ์ด์, 100์ดํ์ธ ์คํธ๋ง์
๋๋ค.
s
"a,b,c,d,e"
return
"c"
s
"a,b,c,d"
return
"b,c"
โ ํ์ด
function solution(s) {
const arr = s.split("");
const numbers = arr.length;
if (numbers % 2) {
return arr[Math.floor(numbers / 2)];
} else {
return arr[numbers / 2 - 1] + arr[numbers / 2];
}
}
- ์ ์๋ codewars์์ ๊ฐ์ด๋ฐ ๊ธ์ ๊ฐ์ ธ์ค๊ธฐ ๋ฌธ์ ๋ฅผ ํผ ์ ์ด ์๋๋ฐ programmers์์๋ ํ๊ฒ๋์๋ค..! ์ ๋ฒ๊ณผ ์ฝ๋๋ฅผ ๋น๊ตํ๋ ๋ ์ผํญ์ฐ์ฐ์ ์์ฐ๊ณ ๊ตณ์ด ๊ธธ๊ฒ ์ผ๋ค..