📌 문제 링크: https://www.acmicpc.net/problem/16139
❌ 내 풀이(Failure) - 50점:
✅ 내 풀이(Success) - 100점, PyPy3 제출:
🧐 Review:
서브테스크 1번을 맞춰서 50점을 받기는 쉽지만, 100점을 받기 위해서는 입력 값의 크기를 고려해서 시간 복잡도를 계산해야 한다. 문자열의 길이와 질문 개수 q는 최대 200,000으로 q번 동안 문자열 전체에 대해 알파벳의 존재 여부를 확인한다면 시간 초과가 발생한다. 따라서 매번 특정 구간에 대해 알파벳의 존재를 확인하는 것이 아닌 미리 알파벳의 등장 횟수를 모두 구해두고, 그 결과를 이용하는 방법을 사용해야 한다. 그래서 누적 합과 구간 합을 적용하도록 코드를 수정해서 100점으로 통과할 수 있었다.
'알고리즘 문제 풀이: 파이썬 > BOJ' 카테고리의 다른 글
[BOJ_25757] 임스와 함께하는 미니게임 (0) | 2022.11.06 |
---|---|
[BOJ_2847] 게임을 만든 동준이 (0) | 2022.11.05 |
[BOJ_16433] 주디와 당근농장 (0) | 2022.11.04 |
[BOJ_10799] 쇠막대기 (0) | 2022.11.03 |
[BOJ_1935] 후위 표기식 2 (0) | 2022.11.03 |
댓글