1 ๋ถ„ ์†Œ์š”

๐Ÿ“ [B1_2999] ๋น„๋ฐ€ ์ด๋ฉ”์ผ

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));
        StringBuilder sb = new StringBuilder();

        String str = br.readLine();

        // ์ •์ธ์ด๊ฐ€ ๋ณด๋‚ด๋Š” ๋ฉ”์„ธ์ง€์˜ ์ด ๊ธ€์ž์ˆ˜
        int N = str.length();

        // ํ–‰
        int R = 0;
        int max = Integer.MIN_VALUE;
        // ์—ด
        int C = 0;

        for (int i = 1; i <= N; i++) {
            C = i;
            if (N % C == 0) {
                R = N / C;
            }
            if (C >= R) {
                max = Math.max(max, R);
            }
        }

        // R์ด ๊ฐ€์žฅ ํฐ ๊ฒƒ
        R = max;
        C = N / R;

        String res = "";

        for(int j=0;j<R;j++) {
            int cnt = j;
            for (int i = 0; i < C; i++) {
                res += str.charAt(cnt);
                cnt += R;
            }
        }


        System.out.println(res);
    }
}

๐Ÿค” ๋‚˜์˜ ์ƒ๊ฐ

๋จผ์ € R๊ณผ C๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ–ˆ๋‹ค.
๊ฐ€์žฅ R๊ณผ C๊ฐ€ ๋น„์Šทํ•œ ํฌ๊ธฐ์˜ ๋ฐฐ์—ด์„ ๊ตฌํ•œ ๋’ค ์ฒ˜์Œ์—๋Š” ์ด์ค‘ for ๋ฌธ์œผ๋กœ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ณ  ๋‹ค์‹œ ํ˜ธ์ถœํ•˜๋Š” ๊ตฌ์กฐ๋กœ ์งฐ๋Š”๋ฐ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๊ฐ€ ๋– ์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•˜์˜€๋‹ค.
๊ณ ๋ฏผํ•˜๋‹ค ํ•œ ๊ฐ€์ง€ ๊ทœ์น™์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.
์•”ํ˜ธ๋ฌธ์œผ๋กœ ๋˜์–ด์žˆ๋Š” ๋ฌธ์žฅ์—์„œ R๋งŒํผ ๊ฐ„๊ฒฉ์„ ๋‘๊ณ  C๋ฒˆ ๋ฐ˜๋ณตํ•˜๋ฉด ํ•œ ์„ธํŠธ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๊ฒƒ์„ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅํ•ด์ฃผ๋ฉด ๋œ๋‹ค.
์ด ๋ฐฉ๋ฒ•์„ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•ด์ฃผ์—ˆ๋‹ค.

ํƒœ๊ทธ: , , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ: