반응형
처음 저의 코드입니다 (실행시간 초과떴어요)
def solution(arrangement):
# 필요한 변수 세팅
answer = 0
arr=list(arrangement)
laser_end=[]
bar=[]
bar_start=[]
# 레이저의 끝을 구하자 (arr 3개 원소씩 비교하면서)
for i in range(0,len(arr),+2):
if arr[i]=='(' and arr[i+1]==')':
laser_end.append(i+1)
continue
elif arr[i+1]=='(' and arr[i+2]==')':
laser_end.append(i+2)
i += 1
# 쇠막대기 후보자들
for i in laser_end:
arr[i-1]='x'
arr[i]='x'
# 쇠막대기 만들자
for i in range(0,len(arr),+1):
if arr[i] == 'x':
continue
elif arr[i] == '(' :
bar_start.append(i)
else:
bar.append((bar_start.pop() , i))
# 최종 결과값을 구해보자
for i in bar:
for j in laser_end:
if i[0]<j and j<=i[1] :
answer += 1
return answer+len(bar)
하 이렇게 간단하게 풀 수 있네요..
def solution(arrangement):
# 필요한 변수 세팅
answer = 0
laser_to_zero=arrangement.replace('()','0')
stick=0
#
for i in laser_to_zero:
if i=='(':
stick += 1
elif i == '0' :
answer += stick
else:
stick -= 1
answer += 1
return answer
파이썬 개념
replace() 함수
for i in (문자열):
list() 함수
반응형
'프로그래밍 > 알고리즘 문제' 카테고리의 다른 글
[프로그래머스] 스택/큐 주식가격 (python) (4) | 2019.08.26 |
---|---|
[프로그래머스] 스택/큐 기능개발 (python) (4) | 2019.08.25 |
[프로그래머스] 스택/큐 다리를 지나가는 트럭 (python) (2) | 2019.08.22 |
[프로그래머스] 스택/큐 탑 문제 (python) (132) | 2019.08.18 |
[프로그래머스] 스택/큐 프린터문제 (Python) (8) | 2019.08.18 |
댓글