๐Ÿงฉ Algorithm/[BOJ] Bronze

BOJ 1267 : ํ•ธ๋“œํฐ ์š”๊ธˆ (Java/๊ตฌํ˜„/Bronze 3)

devCloud 2024. 10. 12. 00:01
728x90

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


์„ค๋ช…

์˜์‹ ์š”๊ธˆ์ œ๋Š” 30์ดˆ๋งˆ๋‹ค 10์›์”ฉ ์ฒญ๊ตฌ๋œ๋‹ค. ์ด ๋ง์€ ๋งŒ์•ฝ 29์ดˆ ๋˜๋Š” ๊ทธ ๋ณด๋‹ค ์ ์€ ์‹œ๊ฐ„ ํ†ตํ™”๋ฅผ ํ–ˆ์œผ๋ฉด 10์›์ด ์ฒญ๊ตฌ๋œ๋‹ค. ๋งŒ์•ฝ 30์ดˆ๋ถ€ํ„ฐ 59์ดˆ ์‚ฌ์ด๋กœ ํ†ตํ™”๋ฅผ ํ–ˆ์œผ๋ฉด 20์›์ด ์ฒญ๊ตฌ๋œ๋‹ค.

 

๋ฏผ์‹ ์š”๊ธˆ์ œ๋Š” 60์ดˆ๋งˆ๋‹ค 15์›์”ฉ ์ฒญ๊ตฌ๋œ๋‹ค. ์ด ๋ง์€ ๋งŒ์•ฝ 59์ดˆ ๋˜๋Š” ๊ทธ ๋ณด๋‹ค ์ ์€ ์‹œ๊ฐ„ ํ†ตํ™”๋ฅผ ํ–ˆ์œผ๋ฉด 15์›์ด ์ฒญ๊ตฌ๋œ๋‹ค. ๋งŒ์•ฝ 60์ดˆ๋ถ€ํ„ฐ 119์ดˆ ์‚ฌ์ด๋กœ ํ†ตํ™”๋ฅผ ํ–ˆ์œผ๋ฉด 30์›์ด ์ฒญ๊ตฌ๋œ๋‹ค.

 

ํ†ตํ™” ์‹œ๊ฐ„ ๋ชฉ๋ก์ด ์ฃผ์–ด์ง€๋ฉด ์–ด๋А ์š”๊ธˆ์ œ๋ฅผ ์‚ฌ์šฉ ํ•˜๋Š” ๊ฒƒ์ด ์ €๋ ดํ•œ์ง€ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

ํ’€์ด

๊ฐ ์‹œ๊ฐ„๋งˆ๋‹ค 30๊ณผ 60์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ๊ทธ ๋ชซ์— + 1์„ ํ•ด์ค€๋‹ค.

  • ( ๊ฐ ์‹œ๊ฐ„ /  30 ) + 1 
  • ( ๊ฐ ์‹œ๊ฐ„ /  60 ) + 1 

+ 1์„ ํ•ด์ฃผ๋Š” ์ด์œ ๋Š” ํ†ตํ™”ํ•œ ์‹œ๊ฐ„์ด 30์ดˆ, 60์ดˆ ์ดํ•˜์ธ ๊ฒฝ์šฐ๋„ ์š”๊ธˆ์„ ๋ถ€๊ณผํ•ด์•ผ ํ•˜๋Š”๋ฐ, ๋ชซ์ด 0์ด๋ฉด ์š”๊ธˆ ๋ถ€๊ณผ๋ฅผ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋˜ํ•œ ๋‚˜๋จธ์ง€๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ๋„ ๊ทธ ๋‚˜๋จธ์ง€๊ฐ€ ์š”๊ธˆ์„ ๋ถ€๊ณผํ•ด์•ผ ํ•˜๋Š” ๋ฒ”์œ„์— ์†ํ•˜๊ธฐ ๋•Œ๋ฌธ์— + 1์„ ํ•ด์•ผ ํ•œ๋‹ค.

 

์œ„์—์„œ ๊ณ„์‚ฐํ•œ ๊ฐ’์— ๊ฐ์ž 10๊ณผ 15์„ ๊ณฑํ•œ๋‹ค.

  • ( ( ๊ฐ ์‹œ๊ฐ„ /  30 ) + 1 ) * 10
  • ( ( ๊ฐ ์‹œ๊ฐ„ /  60 ) + 1 ) * 15

 

 

Solution

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

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

        int n = Integer.parseInt(br.readLine());

        int time, y = 0, m = 0;
        StringTokenizer st = new StringTokenizer(br.readLine());
        for (int i = 0; i < n; i++) {
            time = Integer.parseInt(st.nextToken());
            y += ((time / 30) + 1) * 10;
            m += ((time / 60) + 1) * 15;
        }
        if (y > m) { //์˜์‹ ์š”๊ธˆ์ œ๊ฐ€ ๋” ๋น„์‹ธ๋ฉด
            System.out.println("M " + m);
        } else if (y < m) { //๋งŒ์‹ ์š”๊ธˆ์ œ๊ฐ€ ๋” ๋น„์‹ธ๋ฉด
            System.out.println("Y " + y);
        } else {
            System.out.println("Y M " + y);
        }
    }
}

 

 

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

๋งํ•œ ํ’€์ด

for (int i : time) {
            //์˜์‹ ์š”๊ธˆ์ œ
            if (i >= 30) { //ํ†ตํ™”ํ•œ ์‹œ๊ฐ„์ด 30์ดˆ ์ด์ƒ์ด๋ฉด
                y += (i / 30) * 10; //์š”๊ธˆ์— ๋”ํ•˜๊ธฐ
                if (i % 30 != 0) { //๋‚˜๋จธ์ง€๊ฐ€ ์žˆ์œผ๋ฉด
                    y += 10; //์š”๊ธˆ์— 10์› ์ถ”๊ฐ€
                }
            } else {
                y += 10; //30์ดˆ ์ดํ•˜์ด๋ฉด 10์›๋งŒ ๋”ํ•จ
            }

            //๋งŒ์‹ ์š”๊ธˆ์ œ
            if (i >= 60) { //ํ†ตํ™”ํ•œ ์‹œ๊ฐ„์ด 60์ดˆ ์ด์ƒ์ด๋ฉด
                m += (i / 60) * 15; //์š”๊ธˆ์— ๋”ํ•˜๊ธฐ
                if (i % 60 != 0) { //๋‚˜๋จธ์ง€๊ฐ€ ์žˆ์œผ๋ฉด
                    m += 15; //์š”๊ธˆ์— 15์› ์ถ”๊ฐ€
                }
            } else {
                m += 15; //60์ดˆ ์ดํ•˜์ด๋ฉด 15์›๋งŒ ๋”ํ•จ
            }
        }

 

๋ฐ˜๋ก€

2
60 65

 

๋‹ค๋ฅธ ์˜ˆ์ œ๋Š” ๋‹ค ๋งžํ˜”์ง€๋งŒ ๋ฐ˜๋ก€๊ฐ€ ์žˆ์—ˆ๋‹ค... ์กฐ๊ฑด์„ ๋” ์ถ”๊ฐ€ํ–ˆ์–ด์•ผ ํ–ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ๋‚ด ์ฝ”๋“œ๋Š” ๋”๋Ÿฌ์›Œ์ง€๊ฒ ์ง€... ๊ทธ๋ž˜์„œ ๋‹ค๋ฅธ ํ’€์ด ๋ดค๋‹ค. ์กฐ๊ธˆ ๋” ๋ถ„๋ฐœํ•˜์ž.


 

728x90