소스 코드

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. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.

 

오류적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.

 

혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.