jinsu0709   5년 전

그리디 알고리즘을 이용했습니다.

string으로 입력받아 same이라는 int값으로 비교하는데 어차피 아스키 값으로 변환되도 크고 작음은 같으니까 무시했습니다.

1. 한자리수, 두자리수(뒷자리가 0인) 과감히 -1출력

2. 최대값이 완성되면 같은숫자가있으면 서로교환, 없으면 맨 뒷자리교환

3. 8799와 같이 9987이 답인데 9978과 같이 나올 수 있는 경우의 수를 checknum함수를 통해 제거

-> 같은 숫자가 있는경우 제일 큰값중 두개있는값을 same에 인덱스값을 sameidx에 저장 후 checknum에서 판단

생각해야될게 더있을까요?.. 왜틀렸는지 모르겠습니다.. ㅠㅠ

tjdwo5313   4년 전

반례 몇 개 들어드리겠습니다.

----------------------------

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


댓글을 작성하려면 로그인해야 합니다.