๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/1474)
< ๋ฐ ์ค >
๋ฌธ์ ํ์ด
M์์ N๊ฐ์ ๋จ์ด์ ๊ธธ์ด๋ฅผ ์ ์ธํ ๊ฐ์ (N-1) ๊ฐ๋ก ๋๋๋ค. ๋ชซ์ด ๊ฐ ๋จ์ด ์ฌ์ด์ ๋ค์ด๊ฐ์ผ ํ๋ _์ ๊ฐ์์ด๋ค. ๋ง์ฝ ๋๋จธ์ง๊ฐ 0์ด ์๋๋ผ๋ฉด ์๋ฌธ์ ์์ _๋ฅผ ๋ฐฐ์นํ๊ณ , ๊ทธ๋๋ ๊ธธ์ด๊ฐ ๋จ๋๋ค๋ฉด ๋จ์ด๋ฅผ ๋ค์์๋ถํฐ ํ์ธํ๋ฉฐ ๋๋ฌธ์ ์์ _๋ฅผ ๋ฐฐ์นํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class _1474_ { // ๋ฐ ์ค
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(bf.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
String arr[] = new String[n];
int space[] = new int[n - 1];
int len = 0;
for (int i = 0; i < n; i++) {
arr[i] = bf.readLine();
len += arr[i].length();
}
int temp = (m - len) / (n - 1);
for (int i = 0; i < n - 1; i++) {
space[i] = temp;
}
if ((m - len) % (n - 1) != 0) {
m -= len + (n - 1) * temp;
while (m > 0) {
for (int i = 1; i < n; i++) {
if (Character.isLowerCase(arr[i].charAt(0))) {
space[i - 1] += 1;
m -= 1;
}
if (m == 0) {
break;
}
}
if (m == 0) {
break;
}
for(int i=n-1; i>=0; i--) {
if(Character.isUpperCase(arr[i].charAt(0))) {
space[i-1]+=1;
m-=1;
}
if(m==0) {
break;
}
}
}
}
for (int i = 0; i < n; i++) {
bw.write(arr[i]);
if (i == n - 1) {
break;
}
for (int j = 0; j < space[i]; j++) {
bw.write("_");
}
}
bw.flush();
}
}
๋ณ์)
n, m : ์์ด ๋จ์ด ๊ฐ์, ๊ธธ์ด
arr : ๋จ์ด
space : ๋จ์ด ์ฌ์ด _ ๊ฐ์
len : ์ด ์์ด ๋จ์ด ๊ธธ์ด
temp : ๋จ์ด ์ฌ์ด ๋ค์ด๊ฐ _ ๊ฐ์
์์ด ๋จ์ด ๊ฐ์์ ๊ธธ์ด๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ์์ด ๋จ์ด๋ฅผ ์ ๋ ฅ๋ฐ์ผ๋ฉด์ ๊ธธ์ด๋ ์ธ์ด ๊ฐ๊ฐ arr๊ณผ len์ ์ ์ฅํ๋ค. (์ ์ฒด ๊ธธ์ด - ๋จ์ด ๊ธธ์ด)/(๋จ์ด ๊ฐ์ - 1)์ด ๊ฐ ๋จ์ด ์ฌ์ด์ ๋ค์ด๊ฐ์ผ ํ๋ _์ ๊ฐ์์ด๋ฏ๋ก space ๋ฐฐ์ด์ ์ ์ฅํ๋ค. ๋ง์ฝ ์์์ ๊ตฌํ (์ ์ฒด ๊ธธ์ด - ๋จ์ด ๊ธธ์ด)/(๋จ์ด ๊ฐ์ - 1) ๊ฐ์ด ๋๋ ๋จ์ด์ง์ง ์์๋ค๋ฉด ๋ค์ ๊ณผ์ ์ ์ํํ๋ค.
1) ๋จ์ด ์ค ์๋ฌธ์๋ฅผ ์ฐพ์ ์๋ฌธ์ ์์ _ ๋ฐฐ์น
2) ์๋ฌธ์๊ฐ ์๊ฑฐ๋ ์๋ฌธ์ ์์ ๋ฐฐ์น ํ์๋ ๊ธธ์ด๊ฐ ๋ถ์กฑํ๋ค๋ฉด ๋จ์ด๋ฅผ ๋ค์์๋ถํฐ ํ์ํ์ฌ ๋๋ฌธ์๋ก ์์ํ๋ ๋จ์ด ์์ _ ๋ฐฐ์น
์ต์ข ์์ด๋จ์ด์ _๋ฅผ ๋ฐฐ์นํ์ฌ ์ถ๋ ฅํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 2615_์ค๋ชฉ (0) | 2024.06.26 |
---|---|
[Baekjoon] 9204_์ฒด์ค (0) | 2024.06.25 |
[Baekjoon] 26170_์ฌ๊ณผ ๋นจ๋ฆฌ ๋จน๊ธฐ (0) | 2024.06.21 |
[Baekjoon] 2777_์ซ์ ๋์ด (0) | 2024.06.20 |
[Baekjoon] 5002_๋์ด๋งจ (0) | 2024.06.19 |