황찌옹
정리왕옹옹
황찌옹
GitHub Contribution
Loading data ...
  • 분류 전체보기 (158)
    • [ 알고리즘 ] (96)
      • Implementation (24)
      • Brute Force (6)
      • String (4)
      • Greedy (14)
      • DFS, BFS (13)
      • Back Tracking (4)
      • Sort & Binary Search (6)
      • DP (8)
      • Shortest Path (5)
      • Hash (3)
      • Stack, Queue (4)
      • Heap (1)
      • Tree (1)
      • Mathematics (1)
      • Ad-Hoc (1)
      • 기타 (COS Pro, etc) (1)
    • [ 언어 및 문법 ] (23)
      • Python (5)
      • C, C++ (13)
      • SQL (1)
      • 공통 개념(CS) (4)
    • [ Error ] (21)
      • Radiomics Feature Extraction (6)
      • CT Skin Segmentation (12)
      • etc (3)
    • [ Git ] (7)
    • [ 환경 설정 및 기타] (6)
    • [ 공부 ] (2)
      • AI, ML (0)
      • Computer Vision (0)
      • Image Processing (1)
      • QT (0)
      • AWS (1)
      • 의료 (0)
    • [ 포트폴리오 ] (1)
      • 🙋‍♀️자기 소개🙋‍♀️ (1)
      • 프로젝트 (0)
      • 공모전 (0)
      • 자격증 (0)
      • 대내외활동 (0)
      • 논문 (0)
      • 교육 봉사 (0)
    • [ 취준 ] (2)
      • 채용 설명회, 직무 상담 (1)
      • 취준 후기 (1)

블로그 메뉴

  • ❤️깃허브❤️

인기 글

태그

  • 씹어먹는C++
  • git
  • numpy
  • Cloud
  • tensorflow
  • Visual Studio
  • cos pro
  • 모두의코드
  • cs
  • c++
  • QT
  • config
  • OpenCV
  • aws
  • Python
  • Anaconda
  • pyplot
  • keras
  • configuration
  • SQL

최근 댓글

최근 글

전체 방문자
오늘
어제
hELLO · Designed By 정상우.
황찌옹

정리왕옹옹

[ 알고리즘 ]/Greedy

[프로그래머스] 큰 수 만들기

2022. 6. 29. 19:01

 

📌문제

https://programmers.co.kr/learn/courses/30/lessons/42883

 

🎖️난이도

Level 2

 

✔️풀이

# sol
def solution(number, k):
    num_l = len(number)
    l = num_l - k 
    answer = ['0' for _ in range(l)]
    i = 0 
    
    for x in range(l):
        if i == k+x :
            answer[x:] = number[i:]
            return ''.join(answer)
        
        tmp_list = number[i:k+x+1]
        # tmp_max = max(tmp_list) ==> 테스트케이스 10번 시간초과 오류!
        
        # tmp_max 구하기
        tmp_max = '0'
        for m in tmp_list:
            # '9'보다 큰 수는 없으니, '9'만나면 바로 break해주기! (999999... 와 같은 숫자 예외처리)
            if m == '9':
                tmp_max = '9'
                break
            elif m > tmp_max:
                tmp_max = m
                continue
                
        # tmp_max의 index 구하기
        for tt in tmp_list:
            if tt == tmp_max:
                answer[x] = tmp_max
                i += 1
                break
            i += 1

    return ''.join(answer)

'[ 알고리즘 ] > Greedy' 카테고리의 다른 글

[프로그래머스] 단속카메라  (0) 2022.06.29
[프로그래머스] 구명보트  (0) 2022.06.29
[프로그래머스] 체육복  (0) 2022.06.29
[백준] 11501. 주식  (0) 2022.06.29
[백준] 11497. 통나무 건너뛰기  (0) 2022.06.29
    황찌옹
    황찌옹
    다 정리해버리꺼야

    티스토리툴바