인프런 커뮤니티 질문&답변
제 코드에 대한 질문입니다.
작성
·
191
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)
퀴즈
이분 검색 알고리즘을 사용하기 위한 필수 조건은 무엇일까요?
데이터의 총합이 일정해야 한다
데이터가 미리 정렬되어 있어야 한다
데이터의 개수가 짝수여야 한다
데이터가 모두 양수여야 한다





