๐Algorithm/๐ฅBaekjoon
[Baekjoon] 9626_ํฌ๋ก์ค์๋ ํผ์ฆ
๋ฟ์ผ._.
2025. 5. 9. 14:16
๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/9626)
< ํฌ๋ก์ค์๋ ํผ์ฆ >
๋ฌธ์ ํ์ด
ํผ์ฆ์ ์, ํ, ์ข, ์ฐ๋งํผ ์ถ๊ฐํด '#'์ '.'๋ฅผ ์ถ๋ ฅํ๋ค.
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 _9626_ { // ํฌ๋ก์ค์๋ ํผ์ฆ
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 M = Integer.parseInt(st.nextToken());
int N = Integer.parseInt(st.nextToken());
st = new StringTokenizer(bf.readLine());
int U = Integer.parseInt(st.nextToken());
int L = Integer.parseInt(st.nextToken());
int R = Integer.parseInt(st.nextToken());
int D = Integer.parseInt(st.nextToken());
char arr[][] = new char[M + U + D][N + L + R];
for (int i = 0; i < M; i++) {
String str = bf.readLine();
for (int j = 0; j < N; j++) {
arr[U + i][L + j] = str.charAt(j);
}
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[0].length; j++) {
if (arr[i][j] != '\0') {
bw.write(arr[i][j]);
} else if (i % 2 == 0) {
if (j % 2 == 0) {
bw.write("#");
} else {
bw.write(".");
}
} else {
if (j % 2 == 0) {
bw.write(".");
} else {
bw.write("#");
}
}
}
bw.write("\n");
}
bw.flush();
}
}
๋ณ์)
M, N : ํผ์ฆ
U, L, R, D : ์, ์ข, ์ฐ, ํ
str : ๊ธ์
ํผ์ฆ ํฌ๊ธฐ M, N์ ์ ๋ ฅ๋ฐ๋๋ค. ์ด ํฌ๋ก์ค์๋ ํผ์ฆ ํฌ๊ธฐ๋ฅผ [M+U+D][N+L+R]๋ก ์ด๊ธฐํํ๋ค. ํฌ๋ก์ค์๋ ํผ์ฆ์ ๋ํ๋ด๋ ๊ธ์๋ฅผ ์ ๋ ฅ๋ฐ์ ํด๋น ์์น์ ์ ์ฅํ๋ค. ๋ฐฐ์ด์ ํ์ํ๋ฉฐ ๋น์ด์๋ค๋ฉด ์ฒด์คํ ์์ ์ฌ๋ฆฐ ๊ฒ๊ณผ ๊ฐ์ด ์์ ๊ตฌ๋ถํ์ฌ '#'์ '.'๋ฅผ ์ถ๋ ฅํ๋ค. ๋น์ด์์ง ์๊ณ ๊ธ์๊ฐ ์ ์ฅ๋์ด ์๋ค๋ฉด ๊ธ์๋ฅผ ์ถ๋ ฅํ๋ค.
* ์ฒด์คํ ์์ ์ฌ๋ฆฐ๋ค๊ณ ์๊ฐํ๋ค๋ฉด (์ง์ ํ, ์ง์ ์ด) = '#', (์ง์ ํ, ํ์ ์ด) = '.', (ํ์ ํ, ์ง์ ์ด) = '.', (ํ์ ํ, ํ์ ์ด) = '#'