Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 15894번 - 수학은 체육과목 입니다 (PYTHON 풀이) 본문
문제:

문제는 위와 같다. 직관적이라 이해가 쉬울 것 같다.
위 네모블럭과 같이 맨 아래의 개수만 받고 그 위에 네모블럭을 한개씩 줄이면서 붙였을 때 전체 둘레를 구하는 문제이다.
풀이:
a=int(input())
print(a+(a-1)*2+3+(a-1))
문제는 코드 단 두 줄로 해결된다.

그림을 직접 그려보면 규칙을 쉽게 찾을 수 있는데, 우선 입력받는 크기인 맨 아래층(빨간색 변)은 입력받는 값인 a로, 그냥 a만큼 개수를 세면 된다.
그리고 끝변은 입력받는 크기에서 1을 빼고(1을 빼는 이유는 맨 윗층을 제거하기 위함이다. 맨 윗층은 무조건 3이기 때문에 그 다음에 더해줄 것이다.) 2를 곱해주면 각 줄의 끝변의 개수가 된다. (초록색 변) 그 다음 앞서 말한 맨 윗층은 무조건 3이 될 것이다. (파란색 변) 그래서 3을 더해주면 절반 이상은 끝났다.
마지막으로 더해줘야할 부분은 분홍색 변 부분이다. 문제를 다시 읽어보자. 해당 문제는 '정사각형' 네모 블럭에 대한 내용이다.
정사각형을 붙였을 때 남는 둘레는 0.5이므로(한 변의 길이가 1일 때) 두개면 1로 계산하면 된다. 이때 1은 입력 받는 a에서 -1을 해서 더해주면 된다.
그림을 그리지 않으면 시간이 좀 걸렸을 것 같다. 그래도 쉽게 풀어 다행이다!
'CODING 💻' 카테고리의 다른 글
| 백준 14215번 - 세 막대 (PYTHON 풀이) (0) | 2025.09.12 |
|---|---|
| 백준 5073번 - 삼각형과 세 변 (PYTHON 풀이) (0) | 2025.09.11 |
| 백준 3009번 - 네 번째 점 (PYTHON 풀이) (0) | 2025.09.10 |
| 백준 1085번 - 직사각형에서 탈출 (PYTHON 풀이) (0) | 2025.09.08 |
| 백준 10101번 - 삼각형 외우기 (PYTHON 풀이) (0) | 2025.09.07 |
