BOJ_B1_2999
๐ [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๋ฒ ๋ฐ๋ณตํ๋ฉด ํ ์ธํธ๊ฐ ๋๋ ๊ฒ์ด๋ค. ๊ทธ๊ฒ์ ์์๋๋ก ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
์ด ๋ฐฉ๋ฒ์ ์ฝ๋๋ก ๊ตฌํํด์ฃผ์๋ค.