๐Ÿงฉ Algorithm/[BOJ] Bronze

BOJ 10810 : ๊ณต ๋„ฃ๊ธฐ (Java/๊ตฌํ˜„/Bronze 3)

devCloud 2024. 10. 12. 17:15
728x90

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‰ https://www.acmicpc.net/problem/10810


์„ค๋ช…

๋ฐ”๊ตฌ๋‹ˆ ๊ฐœ์ˆ˜ N๊ฐœ๊ฐ€ ์žˆ๊ณ , N๊ฐœ์˜ ๋ฐ”๊ตฌ๋‹ˆ์— M๋ฒˆ์˜ ๊ณต์„ ๋„ฃ๋Š”๋‹ค. 

์ฒ˜์Œ์—” ๋ชจ๋‘ ๋นˆ ๋ฐ”๊ตฌ๋‹ˆ์ด๊ณ , ๋ฐ”๊ตฌ๋‹ˆ์—๋Š” 1๊ฐœ์˜ ๊ณต๋งŒ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.

์ž…๋ ฅ์ด ๋งŒ์ผ 1 2 3 ์ด๋ผ๊ณ  ํ•  ๋•Œ, 1๋ฒˆ์งธ ๋ฐ”๊ตฌ๋‹ˆ๋ถ€ํ„ฐ 2๋ฒˆ์งธ ๋ฐ”๊ตฌ๋‹ˆ๊นŒ์ง€ 3๋ฒˆ ๊ณต์„ ๋„ฃ๋Š”๋‹ค.

๋‹ค์Œ ์ž…๋ ฅ์ด 3 4 4 ๋ผ๊ณ  ํ•  ๋•Œ, 3๋ฒˆ์งธ ๋ฐ”๊ตฌ๋‹ˆ๋ถ€ํ„ฐ 4๋ฒˆ์งธ ๋ฐ”๊ตฌ๋‹ˆ๊นŒ์ง€ 4๋ฒˆ ๊ณต์„ ๋„ฃ๋Š”๋‹ค.

๋งŒ์ผ ๋ฐ”๊ตฌ๋‹ˆ์— ๊ณต์ด ๋“ค์–ด๊ฐ€ ์žˆ์œผ๋ฉด ๊ณต์„ ๋นผ๊ณ  ์ƒˆ๋กœ ๊ณต์„ ๋„ฃ๋Š”๋‹ค.

๊ทธ๋ž˜์„œ N๊ฐœ์˜ ๋ฐ”๊ตฌ๋‹ˆ์— ๋ช‡ ๋ฒˆ ๊ณต์ด ๋“ค์–ด๊ฐ€ ์žˆ๋Š”์ง€ ๋ชจ๋‘ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ๋นˆ ๋ฐ”๊ตฌ๋‹ˆ๋Š” 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

๋ฐ”๊ตฌ๋‹ˆ์— ๊ณต์„ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

for (int k = mInt[0] - 1; k < mInt[1]; k++) {
	bowl[k] = mInt[2];
}

 

mInt ๋ฐฐ์—ด์—๋Š” i, j, k๊ฐ€ ๋“ค์–ด์žˆ๋‹ค. i ๋ฒˆ์งธ๋ถ€ํ„ฐ j ๋ฒˆ์งธ๊นŒ์ง€ k ๋ฒˆ ๊ณต์„ ๋„ฃ์–ด์•ผ ํ•œ๋‹ค. 

๋”ฐ๋ผ์„œ k์˜ ์ดˆ๊ธฐ๊ฐ’์€ mInt์˜ ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค์ด๋‹ค. - 1์„ ํ•ด์ค€ ์ด์œ ๋Š” ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๊ฐ€ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ - 1์„ ํ•ด์ฃผ์—ˆ๋‹ค. 

๊ทธ๋ฆฌ๊ณ  mInt์˜ ๋‘ ๋ฒˆ์งธ ์ธ๋ฑ์Šค๊นŒ์ง€ ๋ฐ”๊ตฌ๋‹ˆ์— ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋ฉฐ ๋ฐ˜๋ณตํ•œ๋‹ค. ๋ฐ”๊ตฌ๋‹ˆ์—๋Š” mInt์˜ ์„ธ ๋ฒˆ์งธ ์ธ๋ฑ์Šค์˜ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค. 

 

Solution

import java.io.*;

public class Main_10810 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] nm = br.readLine().split(" ");
        int n = Integer.parseInt(nm[0]); //๋ฐ”๊ตฌ๋‹ˆ ๊ฐœ์ˆ˜
        int m = Integer.parseInt(nm[1]); //๋ฐ”๊ตฌ๋‹ˆ์— ๊ณต์„ ๋ช‡ ๋ฒˆ ๋„ฃ์„์ง€
        int[] bowl = new int[n]; //๋ฐ”๊ตฌ๋‹ˆ ์ƒ์„ฑ

        int[] mInt = new int[3]; //๋ฌธ์ž์—ด์„ ์ •์ˆ˜ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ๋‹ด์„ ๊ทธ๋ฆ‡

        for (int i = 0; i < m; i++) {
            String[] mStr = br.readLine().split(" ");
            for (int j = 0; j < 3; j++) { //์ •์ˆ˜ํ˜•์œผ๋กœ ๋ณ€ํ™˜
                mInt[j] = Integer.parseInt(mStr[j]);
            }
            //๊ณ„์‚ฐ
            for (int k = mInt[0] - 1; k < mInt[1]; k++) {
                bowl[k] = mInt[2]; //๋ฐ”๊ตฌ๋‹ˆ์— ๊ณต ๋„ฃ๊ธฐ
            }
        }
        for (int i : bowl) {
            System.out.printf("%d ", i);
        }
    }
}

 

 

๐Ÿ‘ฉ‍๐Ÿ’ป ํšŒ๊ณ 

๊ฐ„๋‹จํ•œ ๊ตฌํ˜„ ๋ฌธ์ œ๋กœ ์ด๋ฒˆ ๋ฌธ์ œ๋Š” ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

TIL - ๋ฐฐ์—ด์˜ ๋ชจ๋“  ๊ฐ’์„ ์ดˆ๊ธฐํ™”

Arrays.fill(bowl, 0);

 

๋นˆ ๋ฐ”๊ตฌ๋‹ˆ๋Š” 0์œผ๋กœ ์ถœ๋ ฅํ•ด์•ผ ํ•ด์„œ ๋ฐฐ์—ด์˜ ๊ฐ’์„ 0์œผ๋กœ ์ดˆ๊ธฐํ™” ํ•ด์•ผ ํ•˜๋‚˜ ์‹ถ์—ˆ๋Š”๋ฐ ์•ˆ ํ•ด๋„ ๋์—ˆ๋‹ค. ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ  ๊ฐ’์„ ๋„ฃ์ง€ ์•Š์œผ๋ฉด null์ด ๋“ค์–ด์žˆ์„ ์ค„ ์•Œ์•˜๋Š”๋ฐ ์ž๋™์œผ๋กœ 0์œผ๋กœ ์ดˆ๊ธฐํ™”๊ฐ€ ๋˜๋‚˜๋ณด๋‹ค. ๊ทธ๋ž˜๋„ ์ด๋ฒˆ์— ๋ฐฐ์—ด์„ ํ•œ๋ฒˆ์— ์ดˆ๊ธฐํ™” ์‹œํ‚ค๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์•Œ๊ฒŒ ๋๋‹ค. 


 

728x90