목차
백준 단계별로 풀어보기
25.09.23
10단계: 기하 1: 직사각형과 삼각형
15894번: 수학은 체육과목 입니다
문제 링크 : https://www.acmicpc.net/problem/15894
문제 풀이
>> 문제를 풀기 위해 알아야 할 개념
- 주어진 도형의 둘레의 길이를 구하는 법
: 아래 그림을 참고하자.
- 둘레 중, 아랫 변의 길이는 정사각형의 한 변의 길이가 1이기 때문에 가장 아랫부분의 정사각형의 개수와 같다.
- 둘레 중, 왼쪽 변의 길이는 도형의 높이와 같은데, 도형의 높이는 가장 아랫부분의 정사각형의 개수와 같다.
- 둘레 중, 오른쪽 변의 길이는 왼쪽 변의 길이와 같다.
- 둘레 중, 윗 변의 길이는 결국 아랫 변의 길이와 같다.
- 즉, 둘레의 길이는 가장 아랫부분의 정사각형의 개수 * 4와 같다.
- int와 long 자료형의 범위
- int값은 -2,147,483,648 ~ 2,147,483,647의 범위를 가진다. 즉, 양수 범위는 대략 2.14 x 10⁹ 정도이다.
- long값은 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807의 범위를 가진다. 즉, 양수 범위는 대략 9.22 x 10¹⁸ 정도이다.
--> 문제에서 정사각형 개수 n은 (1 ≤ n ≤ 10⁹)의 범위를 가지므로, int값의 범위로 다 담을 수 없다. 따라서 long 타입으로 선언해야 한다.
※ 공식 문서 - 정수 숫자 형식
정수 숫자 형식
각 정수 숫자 형식에 대한 범위, 스토리지 크기 및 사용을 알아봅니다.
learn.microsoft.com
>> 풀이
- 가장 아랫부분의 정사각형 개수를 입력받아 long 타입으로 변환한다.
- 변환한 값에 4를 곱해서 출력한다.
정답 코드
class Backjoon
{
static void Main(string[] args)
{
long input = long.Parse(Console.ReadLine());
Console.Write(4 * input);
}
}
'Development > Baekjoon' 카테고리의 다른 글
[C#] 10101번: 삼각형 외우기 (0) | 2025.09.25 |
---|---|
[C#] 9063번: 대지 (0) | 2025.09.24 |
[C#] 3009번: 네 번째 점 (0) | 2025.09.22 |
[C#] 1085번: 직사각형에서 탈출 (0) | 2025.09.20 |
[C#] 27323번: 직사각형 (0) | 2025.09.19 |