(Week4)[그리디] 큰 수 만들기

2022. 7. 7. 13:46·알고리즘_코딩테스트/주간코딩 스터디 (주코스)

 

주간 코딩스터디 때 푼 문제들을 정리하고 있습니다. 구체적인 문제에 대한 정보는 게시글 내 링크를 살펴봐주세요

소요시간: 30분

1. 문제 설명

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

2. 접근 방식_해답참고

  • 초기 조합을 활용한 풀이의 경우 시간 효율성 문제 통과 못함
  • 그리디: 현재 제일 좋은 경우를 생각하면서 나아가는 방법
  • 스택을 활용해 문제를 해결할 수 있음
    • 스택에 높은 값을 하나 씩 넣어준다
    • 스택에 넣은 값 중 작은 값이 생긴다면 그보다 큰 값이 나올 때까지 빼고, 그 자리에 넣어준다.
    • 스택에 있는 값을 뺄 때, K값도 1씩 빼준다. 
    • K가 0이 되면 나머지 값들을 넣어준다.
    • (예외 케이스) K가 0이 되기 전에 for문이 다 끝나는 경우가 있기 때문에 뒤에서부터 남은 k값을 제외하고 출력이 필요하다. `answer[:len(answer)-k]`

3. 코드

def solution(number, k):
    answer = []
    for i in number:
        while k > 0 and answer and answer[-1] < i: # 4,1, 7이면 pop을 2번 해야 함.
            answer.pop()
            k-=1
        answer.append(i)
    return "".join(answer[:len(answer)-k])

4. 코멘트

  • 조합을 활용했을 때는 안 될 거라고 생각했었다. 
  • 스택 자료구조를 활용할 생각을 하지 못헀었다. (사실 어차피 왼쪽에 오는 값들이 크는게 제일 중요하니까 스택이 찰떡이었던 것 같다.)
저작자표시 비영리 변경금지 (새창열림)

'알고리즘_코딩테스트 > 주간코딩 스터디 (주코스)' 카테고리의 다른 글

(Week4)[소수찾기] 에라토스테네스의 체  (1) 2022.07.07
(Week4)[완전탐색/순열] 소수 찾기  (0) 2022.07.07
(Week3)[구현] 순위검색  (0) 2022.06.20
(Week3)[BFS] 타겟넘버  (0) 2022.06.20
(Week2)[구현] 오픈채팅방  (0) 2022.06.20
'알고리즘_코딩테스트/주간코딩 스터디 (주코스)' 카테고리의 다른 글
  • (Week4)[소수찾기] 에라토스테네스의 체
  • (Week4)[완전탐색/순열] 소수 찾기
  • (Week3)[구현] 순위검색
  • (Week3)[BFS] 타겟넘버
논곰
논곰
현재 2년 유목하고, 3년 이상 리테일 쪽에서 머신러닝 엔지니어로 잠시 정착 중인 AI 엔지니어입니다.
  • 논곰
    에이아이 유목민
    논곰
  • 전체
    오늘
    어제
    • 분류 전체보기 (200)
      • 기술 견문록 (22)
        • MLOps (8)
        • ProductServing (5)
        • 협업 툴 (3)
        • Error Collecting (2)
        • 컨퍼런스 (1)
        • 자격증 (1)
      • IT 견문록 (10)
        • 추가 학습 정리 (10)
      • 알고리즘_코딩테스트 (162)
        • 프로그래머스_Level1 (40)
        • 백준코딩테스트_단계별문제풀이 (14)
        • 이것이 코딩테스트다 (63)
        • 2021_알고리즘 스터디 (30일) (28)
        • 주간코딩 스터디 (주코스) (17)
      • 독서 견문록 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    그래프이론
    dfs
    정렬
    백준
    python3
    알고리즘스터디
    이진탐색
    부스트캠프_AITech_3기
    알고리즘_스터디
    백트랙킹
    Level1
    이코테
    그리디
    U_stage
    ODQA
    단계별문제풀이
    Level2_PStage
    MLFlow
    dp
    파이썬 3
    다시보기
    주간회고
    프로그래머스
    글또
    구현
    기술면접
    mrc
    최단경로
    Level2
    부스트캠프_AITech3기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
논곰
(Week4)[그리디] 큰 수 만들기
상단으로

티스토리툴바