소스 코드
T = int(input())
# 연산속도를 높이기 위해 만든 res
# append로 배열에 값을 추가하면 속도가 느림
# 미리 10000개의 빈 배열을 만들어 놓고
# 10000개의 결과 값을 저장
res = [[0,0] for _ in range(T+1)]
for tc in range(1,1+T):
# 방향
dir = list(input())
# a,b의 초기 값
a = 1
b = 1
# for문 돌면서 a,b 값 수정
for q in dir:
if q == 'L':
b = a+b
else:
a = a+b
b = b
# res에 저장
res[tc][0] = a
res[tc][1] = b
for res_tc in range(1,1+T):
print('#{} {} {}'.format(res_tc,res[res_tc][0],res[res_tc][1]))
해결 방법
1. 제한 속도가 2초이고, 10000개의 tc를 확인해야 한다.
2. 연산 속도를 높이는 것이 핵심이라 생각했음
3. 미리 tc에 맞는 res를 만들어 놓고, 결과 값을 저장한 후, print 함
느낀 점
res를 [] 처럼 빈 배열로 만들어서 res.append 형태로 배열을 추가하는 것보다
res에 tc의 수만큼의 배열을 만들고, 배열의 index에 따라 저장하는 것이 더 빠르다
ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.
오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.
혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.
'코딩 문제해결 > 문제 풀이.SWEA' 카테고리의 다른 글
[SWEA 코딩] S/W 문제해결 응용 보급로 - PYTHON #1249 (0) | 2021.05.02 |
---|---|
[SWEA 코딩] 평범한 숫자 - PYTHON #11736 (0) | 2021.05.02 |
[SWEA 코딩] 나는 개구리로소이다 - PYTHON #5550 (0) | 2021.04.13 |
[SWEA 코딩] S/W 문제해결 응용 행렬찾기 - PYTHON #1258 (0) | 2021.04.12 |
[SWEA 코딩] S/W 문제해결 기본 Contact - PYTHON #1238 (0) | 2021.04.10 |