CodingTest/SW Expert Academy

[ SW Expert Academy ] 1244. 최대상금

EEOOOO 2022. 11. 16. 15:05

 

아 D3도 이정도 수준 나오는구나.. 를 알아두는 게 큰 힘이다.

 

1차 제출 [ 9 / 15 ] FAIL 

진짜 충격이었다.. 쉬운 문제 같은데 틀려서..

T = int(input())
for tc in range(1, T+1):
    result = ''
    nums, k = input().split() # 숫자문자열, 최대 교환횟수
    nums = list(map(int, list(nums)))
    k = int(k)

    i = 0
    while k:
        if i >= len(nums):
            break

        big = len(nums)-1
        for j in range(len(nums)-1, -1, -1):
            if j < i:
                break
            if nums[j] == max(nums[i:]):
                big = j
                break
        nums[i], nums[big] = nums[big], nums[i]
        i += 1
        k -= 1


    print("#{} {}".format(tc,''.join(list(map(str,nums)))))

 

아.. 그리디로 풀 수 없단다..

 

https://hoho325.tistory.com/114

 

 

https://wizdom.tistory.com/219