https://programmers.co.kr/learn/courses/30/lessons/42585
<풀이>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
def solution(arrangement):
answer = 0
cur_pipe = 0
laser = False
for i in range(len(arrangement)):
if laser:
laser = False
continue
if arrangement[i] == '(':
if arrangement[i + 1] == ')': # laser
answer += cur_pipe
laser = True
else:
cur_pipe += 1
else:
answer += 1
cur_pipe -= 1
return answer
|
cs |
<느낀 점>
문제를 잘 이해하면 간단하게 풀 수 있는 문제다.
# 다른 사람의 풀이를 보며 신박했던 점은 조건문으로 레이저를 처리하지 않고
파이썬 문자열 내장 함수인 replace를 사용하여 레이저를 간단히 처리했던 것
ex) arrangement.replace('()', '0')
함수 활용을 좀 더 잘해야겠다는 생각이 든다...
728x90
'난 이 분야 전문가야! > Algorithm' 카테고리의 다른 글
[백준][Python] 11399 ATM - 풀이공유 (0) | 2021.06.21 |
---|---|
프로그래머스 :: 종이접기 - python 풀이 공유 (0) | 2020.07.25 |
프로그래머스 :: 스킬트리 - c++ 풀이 공유 (0) | 2020.07.17 |
프로그래머스 :: 탑 - c++ 풀이 공유 (0) | 2020.07.16 |
프로그래머스 :: 크레인 인형뽑기 - c++ 풀이공유 (0) | 2020.07.14 |