[HackerRank] Bigger is Greater

개발새발log·2023년 5월 18일
0

해커랭크&릿코드

목록 보기
1/4

최근 해커랭크와 리트코드 문제들을 접해서 풀어보고 있는데 백준이나 프로그래머스랑은 다른 느낌이라 신기하다.

문제

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.

알고보니 주석에 한글이 포함되서 났다 참고참고,,^^,,

profile
⚠️ 주인장의 머릿속을 닮아 두서 없음 주의 ⚠️

0개의 댓글