일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- [초급(예비) 개발자 오픈소스 실무 역량강화 교육]
- blinker
- 순수함수
- functools.wraps
- r-string
- PIP
- CI/CD
- reverse v.s. reversed
- 고차함수
- boto3
- 함수형 프로그래밍
- slicing [::-1]
- timestamp
- 쿼리
- Python
- 생각
- sort(reverse=True) v.s. reverse
- OS
- selenium-wire
- 코딩 테스트
- sort v.s. sorted
- Airflow
- pandas
- decorator
- os.path
- ds_store
- S3
Archives
- Today
- Total
공부일지
[코딩 테스트] 코드업 예제로 알아보는 Python 내장모듈 Counter와 경과시간 본문
'''
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가 공간은 좀더 차지하지만 시간이 확실히 적게 나온 것을 확인할 수 있다.
'Computer > Coding Tests' 카테고리의 다른 글
[코딩 테스트]BFS로 보는 [Bool] v.s. [Node], visited 배열 쓸 때와 result 배열만 쓸 때의 차이(서로 관련 있음) (0) | 2025.03.26 |
---|---|
[코딩 테스트]시간 재는 모듈 time v.s. timeit 차이 (0) | 2025.03.21 |
[코딩 테스트]정렬 문제로 알아보는 Python 자료구조 비교(tuple, namedtuple, struct, class +__slots__) (0) | 2025.03.21 |
[코딩 테스트] 코드업 예제로 알아보는 Python 내장함수 reverse(), reversed()와 경과시간 (0) | 2025.03.11 |
[코딩 테스트] 코드업 예제로 알아보는 Python 입력모듈과 경과시간 (0) | 2025.03.10 |