Python
백준10799 Python
Son
2023. 10. 22. 18:05
https://www.acmicpc.net/problem/10799
10799번: 쇠막대기
여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저
www.acmicpc.net
bar_razor = list(input()) #한 줄에 쇠막대기와 레이저의 배치를 나타내는 괄호 표현이 공백없이 주어진다.
answer = 0 #쇠막대기의 개수
st = [] #잘려진 쇠막대기를 담을 리스트 st
for i in range(len(bar_razor)): #쇠막대기와 레이저의 배치를 나타내는 배열 bar_razor
if bar_razor[i] == '(': #만일 해당 리스트의 값이 ( 라면
st.append('(') #st list에 쇠막대기 추가
else: # ) 일 경우
if bar_razor[i-1] == '(': #배열 최근값이 ( 인지 확인하면
st.pop() #레이저를 위에서 수직으로 발사
answer += len(st) #잘려진 쇠막대기 수 만큼 리스트 배열의 개수만큼 answer값 추가
else: #배열 최근값이 ) 인지 확인하면
st.pop() #레이저를 위에서 수직으로 발사
answer += 1 #오른쪽에 잘려진 쇠막대기 개수 1 추가 해주기
print(answer)
https://daekyoulibrary.tistory.com/entry/Python-%EB%A6%AC%EC%8A%A4%ED%8A%B8list-%EC%97%B0%EC%82%B0-insert-pop-remove-reverse-sort-index-count
[Python] 리스트(list) 연산 - insert(), pop(), remove(), reverse(), sort(), index(), count()
insert() insert(x, y)는 리스트의 x번째 위치에 y를 삽입 기존에 x번째 위치에 있던 원소와 그 뒤 원소들은 한 칸씩 뒤로 밀린다. L = [0, 1, 2] L.insert(2, 10) print(L) # [0, 1, 10, 2] pop() 리스트의 맨 마지막 원
daekyoulibrary.tistory.com