본문 바로가기

코딩테스트 연습/프로그래머스

[프로그래머스/코딩테스트 연습] 쇠막대기

쇠막대기 문제는 문제로 보면 그림이 나오고 해서 복잡해 보이나 풀이 과정은 간단하다. 

문제만 이해하면 기본 while문으로 쉽게 풀 수 있다. 

더보기

def solution(arrangement):
    i = 0 
    answer =0
    s = 0 
    while i < len(arrangement):
        if arrangement[i:i+2] == '()':
            answer+=s
            i+=1
        elif arrangement[i] == '(' :
            s+=1
        elif arrangement[i] == ')':
            answer+=1
            s-=1
        i+=1
    return answer

레이져가 나올때 잘리니, 그 값이 추가로 answer에 추가된다. s는 잘리기를 대기중인 slice 막대를 의미하고, i는 현재의 while문 진행을 위해 이용한다.