• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

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

22.01.22 02:03 작성 조회수 113

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

안녕하세요^^

네. 잘하신 코드입니다.