반례 몇 개 들어드리겠습니다.
----------------------------
input
52676 2
answer(정답)
76652
output(글쓴이)
72566
----------------------------
input
40069 3
answer
96400
output
96040
----------------------------
input
10042 2
answer
42010
output
41002
----------------------------
input
740792 2
answer
970742
output
970472
jinsu0709 5년 전
그리디 알고리즘을 이용했습니다.
string으로 입력받아 same이라는 int값으로 비교하는데 어차피 아스키 값으로 변환되도 크고 작음은 같으니까 무시했습니다.
1. 한자리수, 두자리수(뒷자리가 0인) 과감히 -1출력
2. 최대값이 완성되면 같은숫자가있으면 서로교환, 없으면 맨 뒷자리교환
3. 8799와 같이 9987이 답인데 9978과 같이 나올 수 있는 경우의 수를 checknum함수를 통해 제거
-> 같은 숫자가 있는경우 제일 큰값중 두개있는값을 same에 인덱스값을 sameidx에 저장 후 checknum에서 판단
생각해야될게 더있을까요?.. 왜틀렸는지 모르겠습니다.. ㅠㅠ