Algorithm/백준

[브론즈3/파이썬] 15894 - 수학은 체육과목 입니다

제티맛초코 2024. 12. 22. 18:04

https://www.acmicpc.net/problem/15894

 

 


 


 

내 코드 (시간초과)

n = int(input())
tot = 1

for i in range(n):
    # 윗 변 길이
    tot+=(2*i)
    # 옆 변 길이
    tot+=(2*(i+1))
    # 밑 변 길이
    tot+=(i+1)
print(tot)
더보기

for문으로 단순히 돌렸더니 1초를 넘겼다. 그래서 for문으로 쓰는 것보다는 다른 문법을 사용하는 것이 옳다고 생각

 


 

다른 사람 코드  (36ms)

print(int(input())*4)

 

생각해보면 정말 간단한 풀이다.

 

색칠한 부분을 위로 올려보면 하나의 정사각형이 나온다.

- 문제에서 한 변의 길이는 1이로 고정해놨다.

- (가장 아랫부분의 정사각형 개수 = 큰 정사각형의 한 변의 길이)

- 정사각형의 둘레 = 한 변의 길이 * 4

=> 도형의 둘레의 길이는 int(input()*1*4


깨달은 점