ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : K๋ฒ์งธ์
์ฝ๋ฉํ ์คํธ ์ฐ์ต > ์ ๋ ฌ > K๋ฒ์งธ์
๐ฉ ๋ฌธ์ ์ค๋ช
๋ฐฐ์ด array์ i๋ฒ์งธ ์ซ์๋ถํฐ j๋ฒ์งธ ์ซ์๊น์ง ์๋ฅด๊ณ ์ ๋ ฌํ์ ๋, k๋ฒ์งธ์ ์๋ ์๋ฅผ ๊ตฌํ๋ ค ํฉ๋๋ค. ์๋ฅผ ๋ค์ด array๊ฐ [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3์ด๋ผ๋ฉด
1. rray์ 2๋ฒ์งธ๋ถํฐ 5๋ฒ์งธ๊น์ง ์๋ฅด๋ฉด [5, 2, 6, 3]์
๋๋ค.
2. 1์์ ๋์จ ๋ฐฐ์ด์ ์ ๋ ฌํ๋ฉด [2, 3, 5, 6]์
๋๋ค.
3. 2์์ ๋์จ ๋ฐฐ์ด์ 3๋ฒ์งธ ์ซ์๋ 5์
๋๋ค.
๋ฐฐ์ด array, [i, j, k]๋ฅผ ์์๋ก ๊ฐ์ง 2์ฐจ์ ๋ฐฐ์ด commands๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, commands์ ๋ชจ๋ ์์์ ๋ํด ์์ ์ค๋ช ํ ์ฐ์ฐ์ ์ ์ฉํ์ ๋ ๋์จ ๊ฒฐ๊ณผ๋ฅผ ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ฉ ์ ํ ์กฐ๊ฑด
โ๏ธ array์ ๊ธธ์ด๋ 1 ์ด์ 100 ์ดํ์
๋๋ค.
โ array์ ๊ฐ ์์๋ 1 ์ด์ 100 ์ดํ์
๋๋ค.
๐ commands์ ๊ธธ์ด๋ 1 ์ด์ 50 ์ดํ์
๋๋ค.
๐ commands์ ๊ฐ ์์๋ ๊ธธ์ด๊ฐ 3์
๋๋ค.
๐ฉ ๋ฌธ์ ํ์ด
function solution(array, commands) {
let answer = [];
let answer2 = [];
for(i=0; i<commands.length; i++){
answer.push(array.slice(commands[i][0] - 1, commands[i][1]));
answer[i].sort(function(a,b){return a-b});
answer2.push(answer[i].slice(commands[i][2] - 1, commands[i][2]));
}
return answer2.map(el => Number(el));
}
answer, answer2 ๋ ๊ฐ์ ๋ฐฐ์ด์ ๋ง๋ค์ด ์ฃผ์์ต๋๋ค. for๋ฌธ์ ์ฌ์ฉํ์ฌ answer ์์ ํด๋นํ๋ ๊ฐ์ ์ ๋ ฅํด ์ค๋๋ค. ์ดํ, sort()๋ก ์ ๋ ฌํด ์ฃผ๊ณ , ์ ๋ ฌํ ๊ฐ์์ ๋ค์ ํด๋นํ๋ ๊ฐ์ ์ถ์ถํ์ฌ ์๋ก์ด ๋ฐฐ์ด answer2์ ๋ฃ์ด ์ค๋๋ค. answer2์ ํํ๋ [[์ซ์], [์ซ์], [์ซ์], ...]์ด๊ธฐ ๋๋ฌธ์, map์ ์ฌ์ฉํด ํ๋์ ๋ฐฐ์ด๋ก ๋ง๋ค์ด ์ฃผ์์ต๋๋ค.
๐ฉ ๋ค๋ฅธ ํ์ด
function solution(array, commands) {
return commands.map(v => {
return array.slice(v[0] - 1, v[1]).sort((a, b) => a - b).slice(v[2] - 1, v[2])[0];
});
}
map() ๋ฉ์๋๋ฅผ ๋จผ์ ์ฌ์ฉํ์ต๋๋ค. commands ๋ฐฐ์ด์ ๋ณต์ฌํ์ฌ, ์์๊ณ ๊ฐ๋จํ๊ฒ ์์ฑํ ์ ์๋ค์.
'Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์ฝ๋ผ์ธ ์ถ์ธก (1) | 2022.11.23 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ (2) | 2022.11.22 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ (4) | 2022.11.21 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๋ถ์กฑํ ๊ธ์ก ๊ณ์ฐํ๊ธฐ (2) | 2022.11.19 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์ฝ์์ ๊ฐ์์ ๋ง์ (2) | 2022.11.19 |
๋๊ธ