상세 컨텐츠

본문 제목

수리공 항승

코딩테스트

by dofury 2023. 5. 9. 20:30

본문

728x90

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;

public class Main {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int sum1 = 0,sum2 = 0; //민국이 점수총합,대한이 점수 총합 변수

        int tapeLength = 0;
        int tapeCount = 0;
        double presentNum = 0;

        ArrayList<Integer> halls = new ArrayList<Integer>();

        String[] input1 = br.readLine().split(" ");// 입력1
        tapeLength = Integer.parseInt(input1[1]);
        String[] input2 = br.readLine().split(" ");// 입력2
        for (String s: input2) {
            halls.add(Integer.parseInt(s));
        }
        Collections.sort(halls);//정렬 => 낮은 구멍좌표부터 접근하기 위해

        for(int num: halls){
            if(presentNum < num){//현재테이프 x좌표보다 구멍좌표가낮은경우 => 테이프를 붙였는데 그 범위안에 숫자가 있으면 넘어간다.
                presentNum = num-0.5;//테이프를 붙여야하니 구멍좌표에서 0.5뺀 위치부터 시작한다.
                presentNum += tapeLength;//테이프 하나를 다붙인다.
                tapeCount++;//테이프 개수를 늘린다.
            }


        }

            bw.write(String.valueOf(tapeCount));


        bw.flush();
        bw.close();

    }
}

https://www.acmicpc.net/problem/1449

728x90

'코딩테스트' 카테고리의 다른 글

단어 정렬  (0) 2023.05.09
나는 요리사다  (0) 2023.05.09
행렬의 곱셈(2레벨)  (0) 2023.01.25
위장(2레벨)  (2) 2023.01.25
괄호 회전하기(2레벨)  (0) 2023.01.24

관련글 더보기

댓글 영역