본문 바로가기
Algorithm

프로그래머스 가장 큰 수 Javascript

by 개발자 염상진 2023. 4. 7.

프로그래머스 가장 큰 수 Javascript

 

프로그래머스 가장 큰 수 문제는 Level 2에 해당하는 문제로 문자열 Sorting 능력을 테스트하는 문제입니다. 문제의 핵심은 numbers 배열로 주어지는 숫자들을 어떤 규칙에 따라서 배치할 것인가 인데요, 이 문제만 해결하면 간단하게 sorting 함수를 작성해서 풀어볼 수 있습니다. 

예를 들어 [41,40,4]로 구성된 배열이 주어졌을 때 각 원소들을 여러번 반복해서 4자리를 끊어서 반복된 숫자를 비교해 볼 수 있습니다. 

  • 41 vs 40 : 4141과 4040을 비교했을 때 4141이 더 크기 때문에 41이 앞에 와야 됨을 알 수 있습니다.
  • 40 vs 4 : 4040과 4444를 비교했을 때 4444가 더 크기 때문에 4가 앞에 와야 됨을 알 수 있습니다. 

즉 숫자를 여러번 반복해서 4자리 까지 끊어주면(문제에서 numbers의 원소의 길이가 1000이하라고 했으므로) 숫자를 비교할 수 있는 기준을 마련할 수 있습니다. 

 

 

프로그래머스 가장 큰 수 Javascript Code

 

위에서 찾아본 규칙을 자바스크립트 코드로 옮기면 아래와 같습니다. 

function solution(numbers) {
  let answer;
  let numArray = [
    ...numbers.sort(
      (a, b) =>
        Number(String(b).repeat(4).slice(0, 4)) -
        Number(String(a).repeat(4).slice(0, 4))
    ),
  ];

  answer = numArray.join("");

  return answer;
}

 

🚀️ 도움이 되셨다면 구독좋아요 부탁드립니다 👍️

 

 

 

프로그래머스 자전거 공장 문제 Javascript

프로그래머스 자전거 공장 문제 Algorithm 프로그래머스 자전거 공장 문제는 스택을 이용해서 풀어낼 수 있다. 기간별로 다른 누진세가 적용되기 때문에 최대한 저렴한 가격으로 자전거를 생산하

about-tech.tistory.com

 

 

프로그래머스 체육복 Greedy 탐욕법 문제 Javascript

프로그래머스 체육복 문제 프로그래머스 체육복 문제는 탐욕법으로 풀어보는 것이다. 탐욕법 알고리즘은 각 단계에서 최적이라고 고려되는 것을 선택하는 것을 반복하는 방법이다. 현재 선택

about-tech.tistory.com

 

 

프로그래머스 완주하지 못한 선수 해시 맵 사용 풀이 파이썬

프로그래머스 완주하지 못한 선수 해시 맵 사용 파이썬 완주하지 못한 선수 문제는 인자로 participant와 completion이 주어집니다. 참가자 중 단 한명의 선수만 완주하지 못하는데요, 완주하지 못한

about-tech.tistory.com

 

댓글