Programmers / 2단계 / 큰 수 만들기 / python / 탐욕법(Greedy)

2024. 4. 4. 13:42·코딩테스트/programmers (python)

 

https://school.programmers.co.kr/learn/courses/30/lessons/68645

 

 

나의 풀이

def solution(number, k):
    stack = []
    
    for num in number:
        while k>0 and stack and stack[-1] < num:
            stack.pop()
            k -= 1
        stack.append(num)
        
    return "".join(stack[:len(stack)-k])

 

 제거하는 수를 제외한 나머지 수의 위치를 변경하지 않고 만들 수 있는 최댓값을 구하는 문제였다.

Stack을 사용해 number 값들을 넣고 while문으로 Stack의 맨 위의 원소보다 number 값이 크면 Stack 원소를 pop함과 동시에 k값을 1 줄여가며 k가 0일 때까지 반복한다.

이렇게 하면 Stack에 남은 원소들로 원하는 답을 구할 수 있지만 332211과 같이 예외가 있을 때 처리할 수 없기 때문에 stack[:len(stack) - k]로 처리하여 예외까지 고려할 수 있다.

'코딩테스트 > programmers (python)' 카테고리의 다른 글

Programmers / 2단계 / 124 나라의 숫자 / python  (0) 2024.04.08
Programmers / 2단계 / 연속된 부분 수열의 합 / python  (0) 2024.04.06
Programmers / 2단계 / 삼각 달팽이 / python  (0) 2024.04.02
Programmers / 3단계 / 두 큐 합 같게 만들기 / python / 2022 KAKAO TECH INTERNSHIP  (0) 2024.03.31
Programmers / 3단계 / 단속카메라 / python / 탐욕법(Greedy)  (0) 2024.03.29
'코딩테스트/programmers (python)' 카테고리의 다른 글
  • Programmers / 2단계 / 124 나라의 숫자 / python
  • Programmers / 2단계 / 연속된 부분 수열의 합 / python
  • Programmers / 2단계 / 삼각 달팽이 / python
  • Programmers / 3단계 / 두 큐 합 같게 만들기 / python / 2022 KAKAO TECH INTERNSHIP
seulll
seulll
개인 공부 / 정리 블로그입니다
  • seulll
    seulll
    seulll
  • 전체
    오늘
    어제
    • 분류 전체보기 (323) N
      • 코딩테스트 (223) N
        • programmers (python) (156)
        • 백준 (python) (65) N
      • 자료구조 | 알고리즘 (14)
      • 개발 | 프로젝트 (35) N
        • Python (4)
        • Java | Spring (7) N
        • Unity (3)
        • API (3)
      • CS (15)
        • Network (5)
        • SQL (2)
        • OS (4)
      • 데이터 분석 (14)
      • 기타 (12)
  • 블로그 메뉴

    • 홈
    • 태그
    • 글쓰기
    • 설정
  • 링크

    • GitHub
  • 인기 글

  • 태그

    Greedy
    kakao map api
    Boxplot
    Python
    웹크롤링
    데이터분석
    티스토리챌린지
    카카오맵 api
    solving environment
    대입 표현식
    카카오맵
    confusion matrix
    코딩테스트
    야근 지수
    그리디 알고리즘
    파이썬
    2 x n 타일링
    백엔드 개발자
    오차행렬
    바다코끼리
    오블완
    박스플롯
    API
    asterisk
    모델 성능 평가
    train_test_split
    프렌즈4블록
    백엔드
    프로그래머스
    백엔드 개발자 역량
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
seulll
Programmers / 2단계 / 큰 수 만들기 / python / 탐욕법(Greedy)
상단으로

티스토리툴바