코딩테스트

[백준 / 브론즈2] 1075 : 나누기 (JAVA)

lyndaa 2023. 2. 22. 00:59

문제


풀이방법

  • N의 마지막 두 자리를 0으로 만들어 준 후 1씩 증가시켜 F로 나누어떨어지는 최소 N을 찾는다.

알게된 것

  • String.format() vs System.out.printf()
    1. String.format()
      • Formatter 클래스의 메소드
      • 문자열화 시킨 것을 String형 변수에 바인딩 시킬 수 있음(String 형 결과가 return됨)
    2. System.out.printf()
      • 문자열화 시킨 것을 PrintStream으로 바로 출력

코드

👇🏻 1차 작성한 코드 (for문 사용)

package boj1075;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int f = sc.nextInt();

        int k = n % 100;
        n -=k;

        for (int i = 0; i <= 99; i++) {
            if ((n + i) % f == 0) {
                if (i < 10) {
                    System.out.printf("%02d",i);
                } else {
                    System.out.println(i);
                }
                break;
            }
        }
    }
}

👇🏻 중복 및 반복되는 부분을 수정한 최종 코드 (while문 사용)

package boj1075;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int f = sc.nextInt();
        
        n -= n % 100;

        while (true) {
            if (n % f == 0) {
                break;
            }
            n++;
        }
        System.out.printf("%02d", n % 100);
    }
}

👇🏻 bufferedreader, format() 사용한 최종코드

package boj1075;

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

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 f = Integer.parseInt(br.readLine());

        n -= n % 100;

        while (true) {
            if (n % f == 0) {
                break;
            }
            n++;
        }
        System.out.format("%02d", n % 100);
    }
}

드디어 아무 도움 없이 혼자 힘으로 푼 첫문제

부족한 부분이 많아서 수정과정도 같이 기록 !