Computer/Coding Tests
[코딩 테스트] 코드업 예제로 알아보는 Python 내장모듈 Counter와 경과시간
이르리의 공부일지
2025. 3. 11. 14:19
'''
https://codeup.kr/problem.php?id=1410
1410 : 올바른 괄호 1
input
((())()(()))
output
6 6
'''
import time
start1 = time.time()
gwalho = list(input())
left_cnt = 0
right_cnt = 0
for i in gwalho:
if i == '(':
left_cnt += 1
elif i == ')':
right_cnt += 1
print(left_cnt, right_cnt)
end1 = time.time()
start2 = time.time()
from collections import Counter
counter = Counter(gwalho)
# print(counter.items())
sorted_counter = sorted(counter.items(), key=lambda x: x[0] != '(')
# print(sorted_counter)
print(sorted_counter[0][1], sorted_counter[1][1])
end2 = time.time()
notice = f'''
time1: {end1 - start1}
time2: {end2 - start2}
'''
print(notice)
'''
time1: 1.725877046585083
time2: 0.00019502639770507812
'''
위에 코드에서 처럼 시간은
for loop 보다 내장 모듈 Counter를 썼을 때 훨씬 적게 나왔다.
코드업 실행시간 및 메모리, 코드 길이를 비교하면
Counter가 공간은 좀더 차지하지만 시간이 확실히 적게 나온 것을 확인할 수 있다.