그래서 python은 구현을 따로 해야함 (아래 솔루션 코드 있음)
링크 : https://www.hackerrank.com/challenges/bigger-is-greater/problem?isFullScreen=true
간단한 문자열 비교 문제임(=숫자처럼 비교됨)
분명 쉬운문제인데 왜 틀린가 했더니
from itertools import permutations
def biggerIsGreater(w):
leng = len(w)
flag = False
ans = []
for i in permutations(w, leng):
tmp = "".join(map(str,i))
if w < tmp:
ans.append(tmp)
if not ans:
return "no answer"
else:
return min(ans)
print(biggerIsGreater('dkhc'))
s = list(input())
def biggerIsGreater(arr):
i,j = len(arr)-1, len(arr)-1
#증가하는 형태를 찾을때까지
while i > 0 and arr[i-1] >= arr[i]:
i -= 1
if i == 0:
return False
while arr[i-1] >= arr[j]:
j -= 1
arr[i-1], arr[j] = arr[j], arr[i-1]
k = len(arr)-1
#엇갈릴 때까지
while i < k:
arr[i],arr[k] = arr[k],arr[i]
i += 1
k -= 1
answer = "".join(map(str,arr))
return answer
print(biggerIsGreater(s))