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
깨달은 점
'Algorithm > 백준' 카테고리의 다른 글
[브론즈3/파이썬] 5086 - 배수와 약수 (0) | 2024.12.24 |
---|---|
[브론즈2/파이썬] 1152 - 단어의 개수 (0) | 2024.12.24 |
[브론즈3/파이썬] 10953 - (A+B - 6) (0) | 2024.12.22 |
[브론즈3/파이썬] 2884 - 알람 시계 (1) | 2024.12.22 |
[브론즈3/파이썬3] 10817 - 세 수 (0) | 2024.12.03 |