ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฌธ์ œ ์„ค๋ช…


๋ฐฐ์—ด array์˜ i๋ฒˆ์งธ ์ˆซ์ž๋ถ€ํ„ฐ j๋ฒˆ์งธ ์ˆซ์ž๊นŒ์ง€ ์ž๋ฅด๊ณ  ์ •๋ ฌํ–ˆ์„ ๋•Œ, k๋ฒˆ์งธ์— ์žˆ๋Š” ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด array๊ฐ€ [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3์ด๋ผ๋ฉด

  1. array์˜ 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์ž…๋‹ˆ๋‹ค.
์ž…์ถœ๋ ฅ ์˜ˆ
arraycommandsreturn
[1, 5, 2, 6, 3, 7, 4][[2, 5, 3], [4, 4, 1], [1, 7, 3]][5, 6, 3]
์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

[1, 5, 2, 6, 3, 7, 4]๋ฅผ 2๋ฒˆ์งธ๋ถ€ํ„ฐ 5๋ฒˆ์งธ๊นŒ์ง€ ์ž๋ฅธ ํ›„ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. [2, 3, 5, 6]์˜ ์„ธ ๋ฒˆ์งธ ์ˆซ์ž๋Š” 5์ž…๋‹ˆ๋‹ค.
[1, 5, 2, 6, 3, 7, 4]๋ฅผ 4๋ฒˆ์งธ๋ถ€ํ„ฐ 4๋ฒˆ์งธ๊นŒ์ง€ ์ž๋ฅธ ํ›„ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. [6]์˜ ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๋Š” 6์ž…๋‹ˆ๋‹ค.
[1, 5, 2, 6, 3, 7, 4]๋ฅผ 1๋ฒˆ์งธ๋ถ€ํ„ฐ 7๋ฒˆ์งธ๊นŒ์ง€ ์ž๋ฆ…๋‹ˆ๋‹ค. [1, 2, 3, 4, 5, 6, 7]์˜ ์„ธ ๋ฒˆ์งธ ์ˆซ์ž๋Š” 3์ž…๋‹ˆ๋‹ค.


๋ฌธ์ œ๋ฅผ ๋ณด์•„ํ•˜๋‹ˆ ๋ฌธ์ž์—ด์„ ์ž๋ฅด๊ณ  ๊ทธ๋ƒฅ ์ •๋ ฌ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค๊ธธ๋ž˜ slice()์™€ sort() ํ•จ์ˆ˜๋งŒ ์“ฐ๋ฉด ๋๋‚˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ๊ฐ€ ํ–ˆ๋Š”๋ฐ ์ƒˆ๋กœ์šด ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. sort() ํ•จ์ˆ˜๋Š” ASCII ๋ฌธ์ž ์ˆœ์„œ๋กœ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค.


์ฆ‰, ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์ƒ๊ฐํ•˜๋Š” ์ˆซ์ž๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— sort ํ•จ์ˆ˜๋ฅผ ์•ฝ๊ฐ„ ๋ฐ”๊ฟ”์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

(์ฐธ๊ณ ๋กœ a-b๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ b-a๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ์ž…๋‹ˆ๋‹ค.)


1
2
3
4
5
6
7
8
9
10
11
12
function solution(array, commands) {
    var answer = [];
    var sliced_arr = []
    commands.forEach(function(element,i){
        sliced_arr = array.slice(element[0]-1,element[1])
        sliced_arr.sort(function(a,b){return a-b})    //์ด ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.
        answer[i] = sliced_arr[element[2]-1]
    })
    console.log(answer)
    return answer;
}
 
cs


๋ฌธ์ž์—ด์„ ์ž๋ฅด๋Š” ๊ฒƒ ๊นŒ์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋ฐ sort ๋‚ด์žฅ ํ•จ์ˆ˜๋ฅผ ๊ทธ๋ƒฅ ์“ฐ๋ฉด ์ •๋ ฌ์ด ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


์˜ˆ๋ฅผ๋“ค๋ฉด [10, 1] ์„  sort() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ์ถœ๋ ฅํ•ด๋ณด๋ฉด 1, 10์ด ์•„๋‹Œ 10,1 ์ด ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.





sort() ๋ผ๋Š” ๋‚ด์žฅํ•จ์ˆ˜๋ฅผ ๊ฒ€์ƒ‰ํ•ด๋ณด๋ฉด ํ˜•์‹์ด ์ด๋ ‡์Šต๋‹ˆ๋‹ค.


arr.sort([compareFunction])

๋งค๊ฐœ๋ณ€์ˆ˜Section

compareFunction Optional
์ •๋ ฌ ์ˆœ์„œ๋ฅผ ์ •์˜ํ•˜๋Š” ํ•จ์ˆ˜. ์ƒ๋žตํ•˜๋ฉด ๋ฐฐ์—ด์€ ๊ฐ ์š”์†Œ์˜ ๋ฌธ์ž์—ด ๋ณ€ํ™˜์— ๋”ฐ๋ผ ๊ฐ ๋ฌธ์ž์˜ ์œ ๋‹ˆ ์ฝ”๋“œ ์ฝ”๋“œ ํฌ์ธํŠธ ๊ฐ’์— ๋”ฐ๋ผ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜ ๊ฐ’Section

์ •๋ ฌํ•œ ๋ฐฐ์—ด. ์› ๋ฐฐ์—ด์ด ์ •๋ ฌ๋˜๋Š” ๊ฒƒ์— ์œ ์˜ํ•˜์„ธ์š”. ๋ณต์‚ฌ๋ณธ์ด ๋งŒ๋“ค์–ด์ง€๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค


์ถœ์ฒ˜ : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

ํ•ด๋‹น ํŽ˜์ด์ง€์— ์ˆซ์ž ์ด์™ธ์— ๋‹ค๋ฅธ ํƒ€์ž…์˜ ์ž๋ฃŒํ˜• ์ •๋ ฌ๋„ ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ํ•˜์‹œ๋ฉด ์ข‹์„ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค.



๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2024/11   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ