본문 바로가기
Development/Baekjoon

[C#] 15894번: 수학은 체육과목 입니다

by Mobics 2025. 9. 23.

목차


    백준 단계별로 풀어보기

    25.09.23

    10단계: 기하 1: 직사각형과 삼각형


    15894번: 수학은 체육과목 입니다

    문제 링크 : https://www.acmicpc.net/problem/15894

     

    문제 풀이

    >> 문제를 풀기 위해 알아야 할 개념

    - 주어진 도형의 둘레의 길이를 구하는 법

    : 아래 그림을 참고하자.

    1. 둘레 중, 아랫 변의 길이는 정사각형의 한 변의 길이가 1이기 때문에 가장 아랫부분의 정사각형의 개수와 같다.
    2. 둘레 중, 왼쪽 변의 길이는 도형의 높이와 같은데, 도형의 높이는 가장 아랫부분의 정사각형의 개수와 같다.
    3. 둘레 중, 오른쪽 변의 길이는 왼쪽 변의 길이와 같다.
    4. 둘레 중, 윗 변의 길이는 결국 아랫 변의 길이와 같다.
    5. 즉, 둘레의 길이는 가장 아랫부분의 정사각형의 개수 * 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

     

    >> 풀이

    1. 가장 아랫부분의 정사각형 개수를 입력받아 long 타입으로 변환한다.
    2. 변환한 값에 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