최근 해커랭크와 리트코드 문제들을 접해서 풀어보고 있는데 백준이나 프로그래머스랑은 다른 느낌이라 신기하다.
https://www.hackerrank.com/challenges/bigger-is-greater/problem
주어진 입력 스트링 뒤에서부터 앞으로 가면서, 기존 스트링 집합(prev)보다 작은 글자가 나오면 거기를 기준으로 더 큰 문자를 그 위치로, 그리고 나머지 글자들을 정렬해서 뒤에 덧붙였다.
def reassemble(c1, i1, org, prev):
for c2 in prev:
if c1 < c2:
prev.remove(c2)
res = list(org[:i1]) + [c2] + sorted(prev + [c1])
return ''.join(res)
def biggerIsGreater(w):
prev = []
for i in range(len(w) - 1, -1, -1):
prev.sort()
if not prev or prev[-1] <= w[i]:
prev.append(w[i])
else:
return reassemble(w[i], i, w, prev)
return "no answer"
+ your submission contains non ascii characters, we dont accept submissions with non ascii characters for this challenge.
알고보니 주석에 한글이 포함되서 났다 참고참고,,^^,,