소스 코드
# dict 형태로 만들어서 미리 10000까지의 합 저장
# [] 형태보다 dict 형태가 값 찾을 때 빠름
t = dict()
t[0] = 0
temp = 0
for q in range(1,10001):
temp += q
t[q] = temp
# 정답 저장
# tc가 100000개이므로 따로 출력하는 것이 속도가 빠름
answer = []
T = int(input())
for tc in range(1,T+1):
a,b = map(int,input().split())
# 두 막대 간의 차이
c = b - a
# K값 찾기
res = t[c-1] - a
answer.append(res)
for w in range(len(answer)):
print('#{} {}'.format(w+1,answer[w]))
해결 방법
1. tc가 100,000개이기 때문에 시간을 절약하기 위해 노력
=> 매번 값을 구하지 않고, 미리 10,000까지의 합을 구함
=> list 대신 dict 형태 사용
=> 출력문을 따로 만드는 것이 시간 절약에 더 도움이 됨(아마)
느낀 점
ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.
오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.
혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.
'코딩 문제해결 > 문제 풀이.SWEA' 카테고리의 다른 글
[SWEA 코딩] 프리셀 통계 - PYTHON #12051 (0) | 2022.01.04 |
---|---|
[SWEA 코딩] 교환학생 - PYTHON #13038 (0) | 2022.01.03 |
[SWEA 코딩] 부서진 타일 - PYTHON #12052 (0) | 2021.09.08 |
[SWEA 코딩] 콩 많이 심기 - PYTHON #4301 (0) | 2021.07.15 |
[SWEA 코딩] 부분 수열의 합 - PYTHON #2817 (0) | 2021.07.14 |