Etc/알고리즘

[백준] 1075

jjuni_96 2024. 7. 4. 21:44
728x90

문제

입력

 

출력

 

 

문제 분석

가장 작은 숫자를 만들기 위해서는 ***00 부터 하나하나 증가되는 방식이다.

1. ***00 으로 몫을 구함

2-1. ***00 의 나머지가 0 => 해당 숫자가 나눠진다!

2-2. ***00 의 나머지가 0 이 아님 => (해당 몫 + 1)*F 를 하면 원하는 값중 가장 작은 값이다.

 

풀이

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

public class Main {
    public static void main(String[] args) throws IOException {
        // https://www.acmicpc.net/problem/1075

        /**
         * 1. 00을 넣고 몫을 구함
         * 2. 거기서 +1을 해서 뒤에 두자리를 추출
         */

        InputStreamReader inputStreamReader = new InputStreamReader(System.in);
        BufferedReader bf = new BufferedReader(inputStreamReader);

        int N = Integer.parseInt(bf.readLine());
        int F = Integer.parseInt(bf.readLine());

        N = (N/100)*100;

        int share = N/F;
        int remain = N%F;
        String answer = "";
        answer = remain == 0 ? String.valueOf(N) : String.valueOf ((share+1)*F);
        System.out.println(answer.substring(answer.length()-2, answer.length()));
    }
}

 

알고리즘 분류

더보기

- 수학

- 브루트포스 알고리즘

 

 

728x90
반응형
LIST