Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

우주에서 글을 적어본다

99클럽 코테 스터디 20일차 TIL + 그리디(Greedy) 본문

항해99 TIL

99클럽 코테 스터디 20일차 TIL + 그리디(Greedy)

우주로 날아간 사람 2024. 8. 10. 23:58

[오늘의 학습 키워드 및 문제]
- 프로그래머스의 "큰 수 만들기" 문제를 풀었다. 
- 오늘도 어김없이 그리디(Greedy)다.
(아리아나 그란데 노래 중에 그리디라는 노래 좋은데)

[나의 코드]

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

나의 생각 과정은 다음과 같다.

① k개만 빼면 되니까 k를 while문의 종료 조건으로 둬야겠다.
② 순서.. 숫자의 순서가 안 바뀌니까 스택 또는 큐로 구현해 봐야겠다,
③ 뭐가 더 필요한데 그걸 모르겠다.

근데 그리디 문제다 보니까 어떻게 하면 되겠다 이게 보인다.
손으로 그려가며 하면 되는데 올리기 귀찮으므로 가볍게 생략한다.

 

[오늘의 회고]
- 문제 조건 중 numers 길이가 1,000,000자리라서 긴장 좀 했다.  
- 오늘 문제는 나에게 큰 영감을 주었다. 뭐에서 영감 받은 지는 비밀이다. 끝!