728x90
문제
상근이는 3003번에서 동혁이가 발견한 체스판을 톱으로 자르려고 한다.
상근이는 체스판을 최대 N번 자를 수 있으며, 변에 평행하게만 자를 수 있다. 또, 자를 때는 체스판의 그 변의 한쪽 끝에서 다른쪽 끝까지 잘라야 한다. 자른 후에는 조각을 이동할 수 없다.
이때, 최대 몇 조각을 낼 수 있는지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N이 주어진다. (1 ≤ N ≤ 100)
출력
첫째 줄에 상근이가 얻을 수 있는 조각의 최댓값을 출력한다.
풀이
한 변에서 반대편 변까지 직선을 그어 자르는 문제다.
이 때 잘려서 생긴 조각이 최대로 만들어져야 한다. 때문에 가로, 세로를 번갈아가며 자르면 된다.
최소 1번 이상 자르기 때문에 아래와 같이 가로와 세로에 대해 조각의 개수가 증가한다.
N | 가로 | 세로 |
1 | 2 | 1 |
2 | 2 | 2 |
3 | 3 | 2 |
4 | 3 | 3 |
5 | 4 | 3 |
N에 따라 가로와 세로의 개수를 곱한 결과를 출력하면 된다.
위의 과정은 N에 대해 2로 나눈 식으로 표현할 수 있다. 단, 계산 과정에서 정수가 나오지 않을 수 있으니 casting을 해주며 계산하자.
소스코드
출처
728x90
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 03058] 짝수를 찾아라 [Java] (1) | 2023.11.22 |
---|---|
[백준 03047] ABC [Java] (1) | 2023.11.21 |
[백준 02997] 네 번째 수 [Java] (0) | 2023.11.21 |
[백준 02991] 사나운 개 [Java] (2) | 2023.11.21 |
[백준 02985] 세 수 [Java] (0) | 2023.11.18 |