코딩테스트

백준 4375- 자바

whyHbr 2024. 2. 9. 23:16
728x90
반응형

 

입력 받은 값 n25로 나누어 떨어지지 않는다. 나누어 떨어지지 않는다. 배수가 아니다.

1로만 이루어진 n의 배수를 찾아야 한다. ->1,11,111,1111  1의 개수 찾기

N의 배수인 것을 확인하고 1의 개수를 센다

1,11,111,1111 %n ==0  ->배수

1의 개수 count

 

if (num %n == 0) numn 으로 나누었을 때 나머지 값이 0이다. 배수이다. 나누어 떨어진다

ex) 6%3

if (num %n !=0) numn으로 나누었을 때 나머지 값이 0이 아니다. 배수가 아니다

 

package fc.java.baekjoon;

import java.util.Scanner;

public class test4375 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        while(sc.hasNext()){
            int n = sc.nextInt();
            int num =0;

            for(int i=1; i<= n; i++){
                num = (num *10 +1) %n;

                if(num ==0){
                    System.out.println(i);
                    break;
                }
            }
        }
        sc.close();
    }
}

 

입력으로부터 정수 n을 입력 받아각 자릿수가 모두 1로 이루어진 수를 생성. 

이 수가  n의 배수인지 확인한다. 해당 수가 n의 배수이면 그 때의 자릿수를 출력하고 반복을 종료

 

num은 생성될 숫자

for 을 사용해 1부터 n까지 반복한다. i는 현재 생성된 숫자의 자릿수를 의미한다

나머지가 0이 되는 경우, 즉 현재 생성된 숫자가 n의 배수일 경우 해당 숫자의 자릿수를 출력하고 반복문 종료

728x90

'코딩테스트' 카테고리의 다른 글

JAVA - 백준 31458  (0) 2024.03.18
SQL TEST - 평균 일일 대여 요금 구하기  (0) 2024.03.15
SQL TEST - 흉부외과 또는 일반외과 의사 목록 출력하기  (0) 2024.03.14
백준 17427 자바  (1) 2024.02.13
백준 1037 자바  (0) 2024.02.12