Algorithm/Baekjoon

[Algorithm/Baekjoon] ๋„๋กœ์™€ ์‹ ํ˜ธ๋“ฑ - 2980 (S4/JAVA)

dpdms2148 2023. 6. 27. 23:56
728x90

๐Ÿ“‘๋ฌธ์ œ๋งํฌ

2980๋ฒˆ: ๋„๋กœ์™€ ์‹ ํ˜ธ๋“ฑ

๐Ÿ’ป์ฝ”๋“œ

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        int n = Integer.parseInt(st.nextToken());//์‹ ํ˜ธ๋“ฑ์˜ ๊ฐœ์ˆ˜
        int l = Integer.parseInt(st.nextToken());//๋„๋กœ์˜ ๊ธธ์ด

        int time = 0;
        int position = 0;
        for (int i = 0; i < n; i++) {
            st = new StringTokenizer(br.readLine());
            int d = Integer.parseInt(st.nextToken());//์‹ ํ˜ธ๋“ฑ์˜ ์œ„์น˜
            int r = Integer.parseInt(st.nextToken());//๋นจ๊ฐ„๋ถˆ ์ง€์† ์‹œ๊ฐ„
            int g = Integer.parseInt(st.nextToken());//์ดˆ๋ก๋ถˆ ์ง€์† ์‹œ๊ฐ„

            // ์‹ ํ˜ธ๋“ฑ๊นŒ์ง€ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„
            time += d - position;
            position = d;

            int temp = time % (r + g);
            if (temp < r) time += r - temp;
        }

        System.out.println(time + (l - position));
    }
}

โณํšŒ๊ณ 

  • ์ฒ˜์Œ์—๋Š” ์›€์ง์ด๋Š” ์‚ฌ๋žŒ ๊ธฐ์ค€์œผ๋กœ ์ƒ๊ฐ์„ ํ•ด์„œ ์–ด๋ ค์› ๋Š”๋ฐ ์‹ ํ˜ธ๋“ฑ์„ ๊ธฐ์ค€์œผ๋กœ ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•ด์ฃผ๋‹ˆ ์‰ฝ๊ฒŒ ํ’€๋ ธ๋‹ค.
728x90