코딩테스트/SWEA
[Python, 파이썬] SWEA 14555. 공과 잡초
알코딩
2024. 11. 11. 21:17
초원에 놓았을 수 있는 공의 개수의 최솟값을 구하는 문제.
T = int(input()) # 테스트 케이스의 수 T
for test_case in range(1, T+1):
field = input() # 초원
answer = 0
N = len(field) # 초원의 길이
i = 0
while(i < N): # 초원일때
if(field[i] == "(" and field[i+1]==")"): # 공 1개
answer += 1
i += 2 # 다음 번 반복으로 건너뜀
continue
elif(field[i] in ["(", ")"]): # 풀로 가려진 공 1개
answer += 1
i += 1 # 반복변수 ++
print("#%d %s" %(test_case, answer))
[문제풀이]
|..(|.||)||||.().
이렇게 초원에 풀이 쏟아진 형태가 있다.
() : 공 1개
(| : 풀로 가려진 공 왼쪽
|) : 풀로 가려진 공 오른쪽
그럼 이렇게, 아무것도 가려지지 않은 공.
그리고 풀로 가려진 공으로 판단해서 각기 세주면 된다.
처음 완전한 공일 경우엔 1개를 세주고,elif로 반쪽만 발견하면 1개씩 세주는 걸로 마무리!