๋”ฐํŒŒ๐Ÿ•
Hwaiian Pizza IT Pub
๋”ฐํŒŒ๐Ÿ•
  • ALL (62)
    • Front-End (13)
      • HTML & CSS (2)
      • JavaScript (7)
      • React (2)
      • TypeScript (0)
      • Jquery (0)
      • Git (1)
      • Editor (0)
    • Algorithms (44)
      • Baekjoon (28)
      • Programmers (13)
      • Algorithms (3)
    • Computer Science (0)
      • Math (0)
    • Conference (1)
    • Life (3)
      • Book (0)
hELLO ยท Designed By ์ •์ƒ์šฐ.
๋”ฐํŒŒ๐Ÿ•

Hwaiian Pizza IT Pub

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : K๋ฒˆ์งธ ์ˆ˜
Algorithms/Programmers

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : K๋ฒˆ์งธ ์ˆ˜

2022. 5. 29. 08:00
๋ฐ˜์‘ํ˜•

 

Question

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : K๋ฒˆ์งธ์ˆ˜

 

 

์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

 

 

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

 

  • [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์ž…๋‹ˆ๋‹ค.

 

 


 

 

My Code

 

1. for๋ฌธ์„ ๋Œ๋ ค์„œ answer์— push ํ•˜๋Š” ์ฝ”๋“œ

function solution(array, commands) {
    let answer = [];
    let len = commands.length;

    for (let i = 0; i < len; i++) {
        answer.push(
            array
            .slice(commands[i][0] - 1, commands[i][1])
            .sort((a, b) => a - b)[commands[i][2] - 1]
        )
    }
	return answer;
}

 

์ •๋‹ต์ด๊ธด ํ•œ๋ฐ ์–ด์ฉ์ง€ ์ฝ”๋“œ๊ฐ€ ์ง€์ €๋ถ„ํ•ด ๋ณด์ธ๋‹ค.

 

HOW? (ํ’€์ด๋ฐฉ๋ฒ•)

 

  • ์ •๋‹ต์ธ ๋ฐฐ์—ด์€ ์ด commands์˜ ๊ธธ์ด์˜ ์ˆ˜์™€ ๋˜‘๊ฐ™์œผ๋ฏ€๋กœ for๋ฌธ์„ ๊ทธ๋งŒํผ ๋Œ๋ ค์ค€๋‹ค.
  • commands์˜ ์กฐ๊ฑด์— ๋งž๋Š” ๋ฐฐ์—ด์„ slice๋ฅผ ํ†ตํ•ด ํ˜•์„ฑํ•œ ํ›„ sort๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์„ ํ•ด์ค€๋‹ค.
  • ์ •๋ ฌ๋œ ๋ฐฐ์—ด์˜ n๋ฒˆ์งธ ์ˆ˜๋ฅผ arr์— push ํ•œ๋‹ค.

 

*** ์ปดํ“จํ„ฐ๋Š” ๋ฐฐ์—ด์„ 0๋ถ€ํ„ฐ ์„ผ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฒ”์œ„์˜ ์ˆ˜๋ฅผ -1 ํ•œ๋‹ค.

*** slice(n, m)์€ ์ธ๋ฑ์Šค n๋ถ€ํ„ฐ m-1๊นŒ์ง€๋ฅผ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋ฏ€๋กœ slice์•ž๋ถ€๋ถ„ ๋ฒ”์œ„๋งŒ -1์„ ํ•œ๋‹ค.

 

 

 

2. commands์˜ map์„ ์‚ฌ์šฉํ•œ ์ฝ”๋“œ

function solution(array, commands) {
    let answer = commands.map((ele) =>
        array
        .slice(ele[0] - 1, ele[1])
        .sort((a, b) => a - b)[ele[2] - 1])

    return answer;
}

 

HOW? (ํ’€์ด๋ฐฉ๋ฒ•)

 

  • for๋ฌธ์—์„œ ๋Œ๋˜ commands์˜ ์š”์†Œ๋“ค์„ map์„ ์ด์šฉํ•ด์„œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ–ˆ๋‹ค.
  • ๊ฐ๊ฐ ์š”์†Œ๋“ค์˜ ์ ‘๊ทผ์œผ๋กœ ์ด์ฐจ์› ๋ฐฐ์—ด์˜ ์ ‘๊ทผ์ด ์ผ์ฐจ์› ๋ฐฐ์—ด๋กœ ๋ฐ”๊ฟจ๋‹ค.
  • slice๋ฅผ ํ•˜๊ณ  sort๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์€ ๋˜‘๊ฐ™๋‹ค.

 

๋” ๊น”๋”ํ•œ ์ฝ”๋“œ๊ฐ€ ๋๋‹ค!!!!

๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ์ ‘๊ทผ์€ ๋น„์Šทํ•˜์ง€๋งŒ ์–ด๋–ค ๋ฐฉ์‹์„ ํƒํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ๊ฐ€๋…์„ฑ์ด ๋‹ฌ๋ผ์กŒ๋‹ค.

 

 

 

 

ํ’€์ด ์‹œ๊ฐ„์˜ ์ฐจ์ด๋Š”

์ฒซ ๋ฒˆ์งธ ํ‘ธ๋Š” ๋ฐฉ์‹

 

 

๋‘ ๋ฒˆ์งธ ํ‘ธ๋Š” ๋ฐฉ์‹

 

์ผ€์ด์Šค ๋ฐ”์ด ์ผ€์ด์Šค์— ๋”ฐ๋ผ ๋” ๋น ๋ฅด๊ฑฐ๋‚˜ ๋А๋ฆฐ ๊ฑฐ ๊ฐ™์•„ ๋ณด์ธ๋‹ค.

๊ทผ๋ฐ ๋ณ„๋กœ ์ฐจ์ด ์•ˆ๋‚˜ ๋ณด์ธ๋‹ค.

 

 

 

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Algorithms > Programmers' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : x๋งŒํผ ๊ฐ„๊ฒฉ์ด ์žˆ๋Š” n๊ฐœ์˜ ์ˆซ์ž  (0) 2022.07.13
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : 2016๋…„  (0) 2022.06.04
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ œ์ผ ์ž‘์€ ์ˆ˜ ์ œ๊ฑฐํ•˜๊ธฐ  (0) 2022.05.27
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ž์—ฐ์ˆ˜ ๋’ค์ง‘์–ด ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ธฐ  (0) 2022.05.22
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ด์ƒํ•œ ๋ฌธ์ž ๋งŒ๋“ค๊ธฐ  (0) 2022.05.20
    'Algorithms/Programmers' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : x๋งŒํผ ๊ฐ„๊ฒฉ์ด ์žˆ๋Š” n๊ฐœ์˜ ์ˆซ์ž
    • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : 2016๋…„
    • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ œ์ผ ์ž‘์€ ์ˆ˜ ์ œ๊ฑฐํ•˜๊ธฐ
    • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ž์—ฐ์ˆ˜ ๋’ค์ง‘์–ด ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ธฐ
    ๋”ฐํŒŒ๐Ÿ•
    ๋”ฐํŒŒ๐Ÿ•
    ์ €์ชฝ ์†๋‹˜์ด ๋ณด๋‚ด์‹  ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋””๋ฒ„๊น… ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?๐Ÿน

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”