ν‹°μŠ€ν† λ¦¬ λ·°

문제

μƒˆ ν•™κΈ°κ°€ μ‹œμž‘λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν˜„μˆ˜λŠ” μƒˆ 짝꿍을 λ§Œλ‚˜ λ„ˆλ¬΄ 신이 λ‚¬μŠ΅λ‹ˆλ‹€.
ν˜„μˆ˜λ„€ λ°˜μ—λŠ” Nλͺ…μ˜ 학생듀이 μžˆμŠ΅λ‹ˆλ‹€.
μ„ μƒλ‹˜μ€ 반 ν•™μƒλ“€μ—κ²Œ 반 번호λ₯Ό μ •ν•΄ μ£ΌκΈ° μœ„ν•΄ μš΄λ™μž₯에 반 학생듀을 ν‚€κ°€ κ°€μž₯ μž‘μ€ ν•™ 생뢀터 일렬둜 ν‚€μˆœμœΌλ‘œ μ„Έμ› μŠ΅λ‹ˆλ‹€. 제일 μ•žμ— κ°€μž₯ μž‘μ€ 학생뢀터 반 번호λ₯Ό 1λ²ˆλΆ€ν„° N번까 지 λΆ€μ—¬ν•©λ‹ˆλ‹€. ν˜„μˆ˜λŠ” 짝꿍보닀 ν‚€κ°€ ν½λ‹ˆλ‹€. 그런데 ν˜„μˆ˜κ°€ μ•ž 번호λ₯Ό λ°›κ³  μ‹Άμ–΄ 짝꿍과 자 리λ₯Ό λ°”κΏ¨μŠ΅λ‹ˆλ‹€. μ„ μƒλ‹˜μ€ 이 사싀을 λͺ¨λ₯΄κ³  ν•™μƒλ“€μ—κ²Œ μ„œμžˆλŠ” μˆœμ„œλŒ€λ‘œ 번호λ₯Ό λΆ€μ—¬ν–ˆμŠ΅λ‹ˆ λ‹€.
ν˜„μˆ˜μ™€ 짝꿍이 자리λ₯Ό λ°”κΎΌ 반 ν•™μƒλ“€μ˜ 일렬둜 μ„œμžˆλŠ” ν‚€ 정보가 μ£Όμ–΄μ§ˆ λ•Œ ν˜„μˆ˜κ°€ 받은 번 ν˜Έμ™€ ν˜„μˆ˜ 짝꿍이 받은 번호λ₯Ό μ°¨λ‘€λ‘œ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ„Έμš”.

 

λ¬Έμ œν’€μ΄

  1. 본래 μ„ μƒλ‹˜μ΄ μ •ν•΄μ€€ 번호 μˆœμ„œλ₯Ό κ΅¬ν•œλ‹€.
  2. μ•žμ„œ κ΅¬ν•œ μˆœμ„œμ™€ ν˜„μˆ˜μ™€ μƒˆ 짝꿍이 자리λ₯Ό λ°”κΏ” 생긴 ν˜„μž¬ μˆœμ„œλ₯Ό λΉ„κ΅ν•œλ‹€.
  3. 같은 μžλ¦¬μ— λ‹€λ₯Έ μ‚¬λžŒμ΄ μžˆλ‹€λ©΄ ν•΄λ‹Ή 자리(인덱슀)λ₯Ό λ°˜ν™˜ν•œλ‹€.

 

μ½”λ“œ

function solution(...arr) {
  let answer = [];
  let newArr = Array.from(arr);
  newArr.sort((a, b) => a - b);

  for(let i = 0; i < arr.length; i++) {
    if(arr[i] !== newArr[i]) {
      answer.push(i + 1);
    }
  }

  return answer;
}

console.log(solution(120, 125, 152, 130, 135, 135, 143, 127, 160));

'μ•Œκ³ λ¦¬μ¦˜ > νƒœκ·Έ 별 풀이' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[그리디]νšŒμ˜μ‹€ λ°°μ •  (0) 2021.07.23
μ’Œν‘œ μ •λ ¬  (0) 2021.07.22
Least Recently Used  (0) 2021.07.20
μ‚½μž… μ •λ ¬  (0) 2021.07.19
Special Sort  (0) 2021.07.18
λŒ“κΈ€
곡지사항
μ΅œκ·Όμ— 올라온 κΈ€
μ΅œκ·Όμ— 달린 λŒ“κΈ€
Total
Today
Yesterday
링크
TAG
more
Β«   2025/01   Β»
일 μ›” ν™” 수 λͺ© 금 ν† 
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 31
κΈ€ 보관함