코딩테스트 연습
- programmers.co.kr
- 큰 수 만들기
못풀어서 다른사람 풀이 참고함.
def solution(number, k):
st = []
for i in range(len(number)):
while st and k > 0 and st[-1] < number[i]:
st.pop()
k -= 1
st.append(number[i])
return ''.join(st[:len(st) - k])
while st and k > 0 and st[-1] < number[i]:
이부분이 핵심 포인트.
ex) 9122 같은 경우 2는 while문이 실행되지않는데, st[:len(st) - k]
이 부분때문에 어차피 중복인 뒷 숫자들을 잘라 버려버림
반응형
'CodingTest > Level2' 카테고리의 다른 글
[연습] 코딩테스트- 전화번호 목록 (0) | 2020.02.22 |
---|---|
[연습] 코딩테스트 - 가장 큰 수 (0) | 2020.02.22 |
[연습] 코딩테스트 - 더 맵게 (0) | 2020.02.19 |
[연습] 코딩테스트- 기능개발 (0) | 2020.02.19 |
[연습] 코딩테스트 - 주식가격 (0) | 2020.02.14 |