728x90
반응형
문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/131704
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이:
시도 1
def solution(order):
stact_left = []
stack_right =[]
i = 1
while True:
stact_left.append(i)
if stact_left[-1] == order[0]:
stack_right.append(order[i::])
break
i += 1
if stact_left ==[[]]:
stact_left.append(0)
elif stack_right == [[]]:
stack_right.pop()
stack_right.append('False')
now = 0
count = 0
while True:
if len(stact_left) == 0 or len(stack_right) == 0:
break
left, right = stact_left.pop(), stack_right.pop()
if order[now] == left:
count += 1
stack_right.append(right)
now += 1
elif order[now] == right:
count += 1
stact_left.append(left)
now += 1
else:
break
return count
10 점
시도 2
def solution(order):
count = 1
i = 0
while True:
if order[i] - order[i+1] == 1 :
count += 1
order.pop(0)
if len(order) == 1:
break
else:
break
return count
10점
시도 3..
def solution(order):
stacks = []
i = 1
now = 0
while i < len(order)+1:
stacks.append(i)
while stacks[-1] == order[idx]:
now += 1
stacks.pop()
if len(stacks) == 0:
break
i += 1
return now
다행히 100
반응형
댓글