📌문제
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 |