[알고리즘] 큰 수 만들기

2022. 9. 4. 15:23·알고리즘
목차
  1. 문제 설명
  2. 입출력 예
  3. 나의 풀이
반응형

문제 설명

어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다.

예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다.

문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요.

제한 조건

  • number는 2자리 이상, 1,000,000자리 이하인 숫자입니다.
  • k는 1 이상 number의 자릿수 미만인 자연수입니다.

입출력 예

number k return
"1924" 2 "94"
"1231234" 3 "3234"
"4177252841" 4 "775841"

나의 풀이

const number = "2211";
const k = 1;

function solution(number, k) {
  var answer = [Number(number[0])];

  let cnt = 0;

  for (let i = 1; i < number.length; i++) {
    const num = Number(number[i]);

    while (cnt < k) {
      const item = Number(answer[answer.length - 1]);

      if (num > item && cnt !== k) {
        answer.pop();
        cnt++;
      } else {
        break;
      }
    }

    answer.push(num);
  }

  for (let i = cnt; i < k; i++) {
    answer.pop();
  }

  return answer.join("");
}

console.log(solution(number, k));

 지난번 풀었던 큰 수 만들기보단 코드가 좀 더 길지만 시간이 지나고 한번 혼자 풀어 보았다. 

반응형
저작자표시 비영리 변경금지 (새창열림)

'알고리즘' 카테고리의 다른 글

[알고리즘] 프렌즈4블록  (1) 2022.09.06
[알고리즘] 피로도  (1) 2022.09.05
[알고리즘] 카펫  (1) 2022.09.03
[알고리즘] H-Index  (2) 2022.09.02
[알고리즘] 다리를 지나는 트럭  (0) 2022.09.01
  1. 문제 설명
  2. 입출력 예
  3. 나의 풀이
'알고리즘' 카테고리의 다른 글
  • [알고리즘] 프렌즈4블록
  • [알고리즘] 피로도
  • [알고리즘] 카펫
  • [알고리즘] H-Index
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    Node.js
    식물
    리얼클래스
    다이소
    typescript
    리액트
    ReactNative
    네이버 부스트캠프
    프로그래머스
    리얼학습일기
    타입스크립트
    영어회화
    Docker
    javascript
    바질 키우기
    타일러영어
    자바스크립트
    영어독학
    webpack
    네트워크
    알고리즘
    덤프
    next.js
    react
    바질
    Babel
    CCNA
    CSS
    redux
    ChatGPT
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
[알고리즘] 큰 수 만들기

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.