๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

[BOJ] 13458 ์‹œํ—˜๊ฐ๋… - Java

category Algorithm/BOJ 2023. 9. 13. 22:03

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

 

13458๋ฒˆ: ์‹œํ—˜ ๊ฐ๋…

์ฒซ์งธ ์ค„์— ์‹œํ—˜์žฅ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๊ฐ ์‹œํ—˜์žฅ์— ์žˆ๋Š” ์‘์‹œ์ž์˜ ์ˆ˜ Ai (1 ≤ Ai ≤ 1,000,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์…‹์งธ ์ค„์—๋Š” B์™€ C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ B, C ≤ 1,000,000)

www.acmicpc.net


1. ๋ฌธ์ œ

๋ธŒ๋ก ์ฆˆ2

์‹œํ—˜์žฅ N๊ฐœ, ์‘์‹œ์ž ์ˆ˜ ์ฐจ๋ก€๋กœ ์ฃผ์–ด์ง, ์ด๊ฐ๋…๊ด€์ด ๊ฐ์‹œํ•  ์ˆ˜ ์žˆ๋Š” ์‘์‹œ์ž ์ˆ˜ B๋ช…, ๋ถ€๊ฐ๋…๊ด€์ด ๊ฐ์‹œํ•  ์ˆ˜ ์žˆ๋Š” ์‘์‹œ์ž์ˆ˜ C๋ช…์ด ์ฃผ์–ด์งˆ ๋•Œ

ํ•„์š”ํ•œ ์ด๊ฐ๋…๊ด€๊ณผ ๋ถ€๊ฐ๋…๊ด€์˜ ์ตœ์†Œ ์ธ์› ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

2. ํ’€์ด

์—ฌ๊ธฐ์„œ ์ด๊ฐ๋…๊ด€์€ ๋ฐ˜๋“œ์‹œ 1๋ช… ์ด์ƒ ์กด์žฌ, ๋ถ€๊ฐ๋…๊ด€์€ ์กด์žฌํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค.

1 ≤ N ≤ 1,000,000

1 ≤ B, C ≤ 1,000,000

 

ํ•ต์‹ฌ์€ 2๊ฐ€์ง€์ด๋‹ค. (๋‚˜๋Š” ์ด 2๊ฐ€์ง€ ํ•ต์‹ฌ ๋ชจ๋‘ ๋†“์ณ์„œ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๋ฐ ์ดํ‹€์ด ๊ฑธ๋ ธ๋‹ค..)

1. ์˜ˆ๋ฅผ ๋“ค์–ด N์€ 1,000,000์ด๊ณ  B, C๊ฐ€ 1์ผ ๋•Œ, ans๋Š” 1,000,000 * 1,000,000์œผ๋กœ int ์ตœ๋Œ€ ํฌ๊ธฐ๋ฅผ ๋„˜์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค. ๋•Œ๋ฌธ์— ans๋Š” long ํƒ€์ž…์ด์–ด์•ผ ํ•œ๋‹ค.

2. ์Œ์ˆ˜ / ์–‘์ˆ˜ = ์Œ์ˆ˜ ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, -5 / 3 = -1์ด๋‹ค. ๋•Œ๋ฌธ์— ์Œ์ˆ˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ continueํ•˜๋Š” validation check๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

 

3. ์ฝ”๋“œ

import java.io.*;
import java.util.*;

public class Main {
    static int N, B, C;
    static long ans;
    static int[] arr;

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        N = Integer.parseInt(br.readLine());
        arr = new int[N];
        StringTokenizer st = new StringTokenizer(br.readLine());
        for (int i=0; i<N; i++) {
            arr[i] = Integer.parseInt(st.nextToken());
        }
        st = new StringTokenizer(br.readLine());
        B = Integer.parseInt(st.nextToken());
        C = Integer.parseInt(st.nextToken());
        //์ž…๋ ฅ ๋

        ans = N;
        for (int i=0; i<N; i++) {
            arr[i] -= B;
            if (arr[i] < 0) continue;  //ํ•ต์‹ฌ : -5/3 = -1์ด๋‹ค.
            ans += arr[i] / C;
            if (arr[i] % C > 0) {
                ans++;
            }
        }
        System.out.println(ans);
    }
}

4. ์‚ฌ๋‹ด

๋‹ต์„ ๋ณด๋ฉด ์žฌ๋ฏธ๊ฐ€ ์—†์–ด์ง„๋‹ค.

๋ฌธ์ œ๋ž‘ ์‹ธ์›Œ์„œ ๋ˆ„๊ฐ€ ์ด๊ธฐ๋‚˜ ํ•ด๋ณด์ž ..

'Algorithm > BOJ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BOJ] 1182 ๋ถ€๋ถ„์ˆ˜์—ด์˜ ํ•ฉ - Java  (1) 2023.09.16
[BOJ] 3190 ๋ฑ€ - Java  (1) 2023.09.14
[BOJ] 14501 ํ‡ด์‚ฌ - Java  (0) 2023.06.01
[BOJ] 14503 ๋กœ๋ด‡์ฒญ์†Œ๊ธฐ - Java  (0) 2023.05.29
[BOJ] 21921 ๋ธ”๋กœ๊ทธ - Java  (0) 2023.05.12