강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

pppmj님의 프로필 이미지
pppmj

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

9. 증가 수열 만들기(그리디)

제 코드에 대한 질문입니다.

작성

·

186

0

중복되는 코드가 있지만, 저처럼 pop 이용해서 구현해도 괜찮을까요?

n=int(input())

arr=list(map(int, input().split()))

 

last=cnt=0

str=""

 

while arr:

    # last 보다 둘 다 높을 경우 -> 작은거 선택

    if arr[-1]>last and arr[0]>last:

        if arr[-1]<arr[0]:

            cnt+=1

            last=arr[-1]

            arr.pop()

            str+="R"

 

        elif arr[-1]>arr[0]:

            cnt+=1

            last=arr[0]

            arr.pop(0)

            str+="L"

        else:

            break

    # 왼쪽만 높은 경우

    elif arr[-1]>last:

        cnt+=1

        last=arr[-1]

        arr.pop()

        str+="R"

    #오른쪽만 높은 경우

    elif arr[0]>last:

        cnt+=1

        last=arr[0]

        arr.pop(0)

        str+="L"

    else:

        break

print(cnt)

print(str)

 

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

네. 잘하신 코드입니다.

pppmj님의 프로필 이미지
pppmj

작성한 질문수

질문하기