우당탕탕 개발일지
[SWEA] 14178. 1차원 정원(Java, D3) 본문
반응형
문제
1차원 수직선 위에 정원이 있다. 모든 정수 1 ≤ i ≤ N 에 대해, 좌표 i에 꽃이 하나씩 심겨 있다. 즉, 좌표 1, 2, …, N에 총 N개의 꽃이 심겨 있다.
분무기는 정수 좌표에 놓을 수 있으며, 좌표 x에 분무기를 놓았을 경우 닫힌 구간 [x - D, x + D]에 심긴 모든 꽃들에 물을 줄 수 있다.
N과 D가 주어질 때, 모든 꽃이 한 개 이상의 분무기에서 물을 받을 수 있도록 하기 위해 필요한 최소한의 분무기 수를 구하는 프로그램을 작성하라.
입출력 예
풀이
문제에 의하면 분무기 1개의 범위는 [x - D, x + D] 이다.
해당 범위에 존재하는 꽃의 개수는 D * 2 + 1 개가 된다.
따라서 { 전체 꽃의 개수 / 1개의 분무기가 뿌릴 수 있는 꽃의 개수 } 를 통해서 최소한의 분무기의 개수를 구할 수 있다.
이때 결과 값의 나머지가 있는 경우 분무기가 1개더 필요한다.
해당 경우에만 + 1를 하게 된다.
코드
Scanner sc = new Scanner(System.in);
int t=sc.nextInt();
for(int tc =1; tc<1+t; tc++) {
int result =0;
int flower= sc.nextInt();
int d = sc.nextInt();
int range = d*2+1; // 분무기 1개로 물을 뿌릴수 있는 꽃의 개수
result = flower / range;
if(flower % range != 0) {
result ++;
}
System.out.println("#"+tc+ " " + result);
}
SWEA 문제
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AX_N3oSqcyUDFARi
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
반응형
'코테 > SW Expert Academy' 카테고리의 다른 글
[SWEA] 1213. [S/W 문제해결 기본] 3일차 - String(Java, D3) (0) | 2024.05.13 |
---|---|
[SWEA] 1234. [S/W 문제해결 기본] 10일차 - 비밀번호(Java, D3) (0) | 2024.05.13 |
[SWEA] 1983. 조교의 성적 매기기(Java, D2) (0) | 2024.04.29 |
[SWEA] 1979. 어디에 단어가 들어갈 수 있을까(Java, D2) (0) | 2024.04.29 |
[SWEA] 1989. 초심자의 회문 검사(Java, D2) (0) | 2024.04.29 |