[๋ฐฑ์ค€] 1 - 4375(with.Java)

SoyuliaSoyulia
2 min read

๐Ÿ’ก๋ฌธ์ œ ๋ถ„์„ ์š”์•ฝ

-- ๋ฌธ์ œ --

2์™€ 5๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š๋Š” ์ •์ˆ˜ n(1 โ‰ค n โ‰ค 10000)๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ ์ž๋ฆฟ์ˆ˜๊ฐ€ ๋ชจ๋‘ 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ n์˜ ๋ฐฐ์ˆ˜๋ฅผ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ : ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , n์ด ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ : ๊ฐ ์ž๋ฆฟ์ˆ˜๊ฐ€ ๋ชจ๋‘ 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ n์˜ ๋ฐฐ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜์˜ ์ž๋ฆฌ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿ’ก์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค๊ณ„

  1. n์„ BufferedReader๋กœ ์ž…๋ ฅ๋ฐ›์€ ํ›„ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ n์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ

  2. 1๋‹ค์Œ์€ 11

  3. cnt์ด์šฉํ•ด์„œ ์ž๋ฆฌ์ˆ˜ ์„ธ๊ธฐ 1โ†’1, 11โ†’2

๐Ÿ’ก์ฝ”๋“œ

package backjoon;

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

public class BackJoon4375 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n;
        long oneNumber,cnt;
        while (br.readLine()!=null) {
            n = Integer.parseInt(br.readLine());
            oneNumber=1;
            cnt=1;
            while (true) {
                if (oneNumber % n == 0) {
                    System.out.println(cnt);
                    break;
                }
                else{
                    oneNumber=(oneNumber*10)+1;
                    cnt++;
                }
            }
        }
    }
}

๐Ÿ’ก์‹œ๊ฐ„๋ณต์žก๋„

O(N*N)

๐Ÿ’กํ‹€๋ฆฐ ์ด์œ 

์‹œ๊ฐ„ ์ดˆ๊ณผ : long์€ 19์ž๋ฆฌ, 1,11,111โ€ฆ..๋Š˜์–ด๋‚˜๋ฉด์„œ 20์ž๋ฆฌ ๋„˜์–ด๊ฐ€๋ฉด ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ(์ž๋ฃŒํ˜•์ด ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€๊ฐ’ ์ดˆ๊ณผ)

๐Ÿ’กํ‹€๋ฆฐ ๋ถ€๋ถ„ ์ˆ˜์ • or ๋‹ค๋ฅธ ํ’€์ด

package backjoon;

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

public class BackJoon4375 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n;
        long oneNumber,cnt;
        while (br.readLine()!=null) {
            n = Integer.parseInt(br.readLine());
            oneNumber=1;
            cnt=1;
            while (true) {
                if (oneNumber % n == 0) {
                    System.out.println(cnt);
                    break;
                }
                else{
                    oneNumber=(oneNumber*10)+1;
                    oneNumber %= n; //์—ฌ๊ธฐ์„œ ๋ฏธ๋ฆฌ ์ฒซ๋ฒˆ์งธ ๋‚˜๋ˆ„๊ธฐ ํžŒ๊ฑฐ๋ผ ์ƒ๊ฐ  111%7=41->6 41์€ ์ „ ๊ฐ’์ด์—ˆ๋„ค!
                    cnt++;
                }
            }
        }
    }
}

๐Ÿ’ก๋Š๋‚€์  or ๊ธฐ์–ต ํ•  ์ •๋ณด

  1. ์งˆ๋ฌธ : 1, 11, 111, 1111 โ€ฆ. ์ด๋ ‡๊ฒŒ ์ˆซ์ž๊ฐ€ ์ปค์ง€๋Š”๋ฐ ๋งˆ์นจ % ์—ฐ์‚ฐ์ด๋„ค ? โ†’ ๋ชจ๋“ˆ๋Ÿฌ ์—ฐ์‚ฐ ์จ์•ผ์ง€ ? ์ƒ๊ฐํ•˜๋ฉด ๋˜๋‚˜??
0
Subscribe to my newsletter

Read articles from Soyulia directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Soyulia
Soyulia

Nice to meet u :) Im Backend Developer