SSAFY/SWEA

[SWEA] 14178 : 1차원 정원

믕비 2023. 5. 13. 13:41
반응형

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AX_N3oSqcyUDFARi&categoryId=AX_N3oSqcyUDFARi&categoryType=CODE&problemTitle=&orderBy=RECOMMEND_COUNT&selectCodeLang=JAVA&select-1=3&pageSize=10&pageIndex=4 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

X - D가 1인 지점이 첫 분무기의 위치를 잡고 해당 위치에서 + D한 위치가 해당 분무기의 마지막 범위(end)이므로 그 값을 저장한다. 

분무기의 개수는 N % end가 0일 때는 N / end인데, 나머지가 발생하면 분무기가 하나 더 필요한 것이므로 N / end + 1이다.

 

내 코드

메모리 : 28752 KB

시간 : 134 ms

코드길이 : 765 B

 

[내 코드]

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Solution {

	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		StringTokenizer st;
		
		int T = Integer.parseInt(br.readLine());
		for(int t = 1; t <= T; t++) {
			sb.append('#').append(t).append(' ');
			st = new StringTokenizer(br.readLine());
			int N = Integer.parseInt(st.nextToken());
			int D = Integer.parseInt(st.nextToken());
			
			int end_x = 2 * D + 1;
			int result = N % end_x == 0 ? N / end_x : N / end_x + 1;
			sb.append(result).append('\n');
		}
		System.out.print(sb);
	}

}
반응형