๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜

[Java] BOJ 1676 ํŒฉํ† ๋ฆฌ์–ผ 0์˜ ๊ฐœ์ˆ˜

by ๐ŸŠ๊ทค๐ŸŠ 2024. 7. 14.

๋ฌธ์ œ 

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/1676

  • N!์—์„œ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฒ˜์Œ 0์ด ์•„๋‹Œ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.
  • ์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. (0 ≤ N ≤ 500)
  • ์ฒซ์งธ ์ค„์— ๊ตฌํ•œ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์•„์ด๋””์–ด

  • 0์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ ค๋ฉด 10์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•ด์•ผ๋˜๋Š”๋ฐ 10์€ 2 * 5๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์œผ๋ฏ€๋กœ 2์™€ 5์˜ ๊ฐœ์ˆ˜๋ฅผ ์•Œ๋ฉด 0์ด ๋ช‡๊ฐœ์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
  • ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ 2์™€ 5์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ชจ๋‘ ๊ตฌํ•  ํ•„์š”๋Š” ์—†๋Š”๋ฐ, 5์˜ ๋ฐฐ์ˆ˜๋ณด๋‹ค 2์˜ ๋ฐฐ์ˆ˜๊ฐ€ ํ›จ์”ฌ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— 5์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ฌด์กฐ๊ฑด 2์˜ ๋ฐฐ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 
  • ๋”ฐ๋ผ์„œ 1๋ถ€ํ„ฐ N๊นŒ์ง€ 5์˜ ๋ฐฐ์ˆ˜๋งŒ ๊ณจ๋ผ 5์˜ ๋ฐฐ์ˆ˜๋ฅผ ๋ช‡๊ฐœ์˜ 5๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š”์ง€ ๊ตฌํ•˜๊ณ  ๊ทธ ๊ฐ’์„ ๋”ํ•ด์ฃผ๋ฉด 0์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋œ๋‹ค. 

๊ฒช์€ ์‹œํ–‰์ฐฉ์˜ค

  • 5์˜ ๋ฐฐ์ˆ˜๋ฅผ 5๋กœ ๋ช‡๋ฒˆ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•ด ์‹์„ ์ ๋‹ค๊ฐ€ ์‹ค์ˆ˜ํ•ด์„œ ๋ช‡๋ฒˆ ์ข€ ํ‹€๋ฆฌ๊ธดํ–ˆ๋‹ค... ๋ถ€๋„๋Ÿฝ๋‹ค..

๋ถ€๋„๋Ÿฌ์šด ์‹ค์ˆ˜๋‹ค...

์ฝ”๋“œ

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

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

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

        // ๋’ค์— 0์ด ์˜ฌ๋ ค๋ฉด ๊ณฑํ–ˆ์„ ๋•Œ 10์ด ๋‚˜์™€์•ผ ๋˜๋Š”๋ฐ 10์˜ ๊ฐœ์ˆ˜๋Š”
        // 5์˜ ๊ฐœ์ˆ˜๋กœ ํŒ๋ณ„์ด ๋˜๋ฏ€๋กœ 5์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋ช‡๋ฒˆ ๋‚˜์˜ค๋Š”์ง€ ์นด์šดํŠธ
        // 5๋ฅผ ๊ณฑํ–ˆ์„ ๋•Œ 10์ด ๋˜๋ ค๋ฉด 2๋„ ์žˆ์–ด์•ผ ๋˜์ง€๋งŒ
        // 2์˜ ๋ฐฐ์ˆ˜๊ฐ€ 5์˜ ๋ฐฐ์ˆ˜๋ณด๋‹ค ํ›จ์”ฌ ๋งŽ์œผ๋ฏ€๋กœ 5์˜ ๋ฐฐ์ˆ˜๋งŒ ์‹ ๊ฒฝ์“ฐ๋ฉด ๋จ
        int five = 0;

        // N์ด 0์ผ ๋•Œ, ๋ฌด์กฐ๊ฑด ์ถœ๋ ฅ์ด 0์ด๋ฏ€๋กœ 0 ์ถœ๋ ฅ
        if(N == 0){
            System.out.println(0);
        }
        else{
            for(int i = 1; i <= N; i++){
                // i๊ฐ€ 0์ด๋ฉด ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋‚˜์˜ค๋ฏ€๋กœ 0์„ ์ œ์™ธํ•˜๊ณ  5๋กœ ๋‚˜๋ˆด์„ ๋•Œ 0์ผ ๊ฒฝ์šฐ,
                if(i % 5 == 0){
                    // i๋ฅผ ์ง์ ‘์ ์œผ๋กœ ๊ฑด๋“œ๋ฆฌ๋ฉด ๋ฌดํ•œ๋ฃจํ”„์— ๋น ์ง€๋ฏ€๋กœ ๋”ฐ๋กœ ๋ณ€์ˆ˜์— i๊ฐ’์„ ์ €์žฅํ•ด์คŒ
                    int num = i;

                    // ๊ธฐ์กด 5๋ฅผ ์นด์šดํŠธ ํ•˜๋Š” ๋ณ€์ˆ˜์— i๋ฅผ 5๋กœ ๋จ—๋ฐ˜ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š”์ง€ ๋”ํ•จ
                    while(true){
                        // i๋ฅผ 5๋กœ ๊ณ„์† ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์„ ๊ฒฝ์šฐ
                        if(num != 0 && num % 5 == 0){
                            num = num / 5;
                            five = five + 1;
                        }
                        // 5๋กœ ๊ณ„์† ๋‚˜๋ˆŒ ์ˆ˜ ์—†์„ ๊ฒฝ์šฐ
                        else{
                            break;
                        }
                    }
                }
            }

            System.out.println(five);
        }
    }
}



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

[Java] BOJ 7568 ๋ฉ์น˜  (0) 2024.07.15
[Java] BOJ 2751 ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 2  (0) 2024.07.15
[Java] BOJ 1436 ์˜ํ™”๊ฐ๋… ์ˆŒ  (4) 2024.07.14
[Java] BOJ 1181 ๋‹จ์–ด ์ •๋ ฌ  (2) 2024.07.14
[Java] BOJ 28702 FizzBuzz  (0) 2024.07.13