๐ŸŒž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]๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. ํฌ๋กœ์Šค์›Œ๋“œ ํผ์ฆ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ธ€์ž๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ํ•ด๋‹น ์œ„์น˜์— ์ €์žฅํ•œ๋‹ค. ๋ฐฐ์—ด์„ ํƒ์ƒ‰ํ•˜๋ฉฐ ๋น„์–ด์žˆ๋‹ค๋ฉด ์ฒด์ŠคํŒ ์œ„์— ์˜ฌ๋ฆฐ ๊ฒƒ๊ณผ ๊ฐ™์ด ์ƒ‰์„ ๊ตฌ๋ถ„ํ•˜์—ฌ '#'์™€ '.'๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋น„์–ด์žˆ์ง€ ์•Š๊ณ  ๊ธ€์ž๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค๋ฉด ๊ธ€์ž๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. 

 

* ์ฒด์ŠคํŒ ์œ„์— ์˜ฌ๋ฆฐ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค๋ฉด (์ง์ˆ˜ ํ–‰, ์ง์ˆ˜ ์—ด) = '#', (์ง์ˆ˜ ํ–‰, ํ™€์ˆ˜ ์—ด) = '.', (ํ™€์ˆ˜ ํ–‰, ์ง์ˆ˜ ์—ด) = '.', (ํ™€์ˆ˜ ํ–‰, ํ™€์ˆ˜ ์—ด) = '#'