[TIL] 2021.09.15

TIL / / 2021. 9. 15. 23:10

오늘 한 일

  • Cake 일일퀴즈
  • 프로그래머스 그리디 큰 수 만들기 복습

 

간단정리

Cake 일일 퀴즈

 

배달 음식 시켜먹을 때 2탄

I'd like to order for delivery, please. (배달 주문하려고요.)

The rest was a delivery fee. (나머지는 배달비였어.)

What do you want? (넌 뭐 먹고 싶어?)

We ordered takeaway lunches. (저희는 점심을 포장 주문했어요.)

That's everything. (그게 다에요.)

Our food has arrived. (음식이 도착했어요.)

 

프로그래머스 그리디 큰 수 만들기

 

 

문제출처 : https://programmers.co.kr/learn/courses/30/lessons/42883

 

number 에서 k 개의 수를 제거해서 가장 큰 값을 구하는 문제이다.

앞에서부터 작은 수를 제거하면 가장 큰 수가 나온다.

number 의 수를 stack 에 담고 각각의 수와 stack 의 마지막 수를 비교해서 더 큰 값을 남기면 된다.

list 를 string 으로 변환할 때는 ''.join(list_object) 를 사용하였다.

 

 

 

def solution(number, k):
    # k 의 개수만큼 숫자를 제거해야함
    # 숫자를 차례대로 리스트에 저장하고 더 큰 값이 나오면 제거해준다
    number_stack = []

    for i in number:
        while True:
            if len(number_stack) > 0 and k > 0 and number_stack[-1] < i:
                number_stack.pop()
                k -= 1
            else:
                break

        number_stack.append(i)

    # k 가 0보다 큰 경우 number_stack 의 맨 뒤에서 하나씩 빼준다.
    while k > 0:
        number_stack.pop()
        k -= 1

    return ''.join(number_stack)

 

느낀점

  • Cake 는 하루 10분 ~ 15분정도 소요되고 TIL 을 작성할 때 한 번 더 복습할 수 있어서 좋은듯하다.
  • 영어실력이 느는 느낌이 딱히 없지만 돌파하는 때가 오지 않을까 생각한다.
  • 프로그래머스 복습을 하면 생각이 다시 나는 듯 하다.
  • 일일 루틴처럼 알고리즘 관련 영상이던 문제던 리뷰해야 감을 잃지 않을 듯 하다.
반응형

'TIL' 카테고리의 다른 글

[TIL] 2021.09.24  (0) 2021.09.24
[TIL] 2021.09.23  (0) 2021.09.23
[TIL] 2021.09.17  (0) 2021.09.18
[TIL] 2021.09.16  (0) 2021.09.17
[TIL] 2021.09.14  (0) 2021.09.14
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기