반응형
풀이
def solution(N):
if N == 1:
return 4
elif N == 2:
return 6
tile_list = [1, 1]
for i in range(2, N):
tile_list.append( tile_list[i-2] + tile_list[i-1])
tile_list.pop(0)
answer = 4
for i in tile_list:
answer += i * 2
return answer
실행 결과
정확성 테스트
테스트 1 〉 | 통과 (0.04ms, 10.7MB) |
테스트 2 〉 | 통과 (0.03ms, 10.7MB) |
테스트 3 〉 | 통과 (0.04ms, 10.7MB) |
테스트 4 〉 | 통과 (0.04ms, 10.7MB) |
테스트 5 〉 | 통과 (0.04ms, 10.7MB) |
테스트 6 〉 | 통과 (0.04ms, 10.8MB) |
테스트 7 〉 | 통과 (0.04ms, 10.8MB) |
테스트 8 〉 | 통과 (0.04ms, 10.7MB) |
효율성 테스트
테스트 1 〉 | 통과 (0.05ms, 10.7MB) |
테스트 2 〉 | 통과 (0.08ms, 10.7MB) |
테스트 3 〉 | 통과 (0.05ms, 10.8MB) |
테스트 4 〉 | 통과 (0.06ms, 10.7MB) |
채점 결과
정확성: 66.7
효율성: 33.3
합계: 100.0 / 100.0
총평
우선 1과 2의 경우는 바로 리턴을 해주었습니다. 정사각형의 크기의 경우, 앞에 두 사각형의 변의 크기를 더한 값이므로, 해당 값을 구해서 리스트에 더해줍니다. 그 다음, 해당 값의 둘레를 구하기 위해서는 앞에 값들에 곱하기 2씩 해주어서 문제를 해결하였습니다. 저는 포문을 2번 활용해서 문제를 해결하였지만, 한번에 해결할 수 있는 방법도 있습니다. 다행히 효율성 테스트를 통과하여서 큰 무리없이 문제를 해결했지만, 가능한 연산을 줄이려는 노력은 꾸준히 고려해보아야 할 것 같습니다.
반응형
'SW > 알고리즘' 카테고리의 다른 글
파이썬 : 프로그래머스 : 자릿수 더하기 : 풀이 (0) | 2019.09.24 |
---|---|
파이썬 : 프로그래머스 : 가장 긴 팰린드롬 : 풀이 (0) | 2019.09.23 |
파이썬 : 프로그래머스 : 2 x n 타일링 : 풀이 (0) | 2019.09.21 |
파이썬 : 프로그래머스 : 콜라츠 추측 : 풀이 (0) | 2019.09.20 |
파이썬 : 프로그래머스 : 하샤드 수 : 풀이 (0) | 2019.09.19 |