๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 3054_ํ”ผํ„ฐํŒฌ ํ”„๋ ˆ์ž„

๋ฟŒ์•ผ._. 2024. 5. 29. 23:21

Silver V

๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/3054)

< ํ”ผํ„ฐํŒฌ ํ”„๋ ˆ์ž„ >

 

๋ฌธ์ œ ํ’€์ด 

 

๋ฐฐ์—ด์„ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‹ค์ด์•„๋ชฌ๋“œ ํ˜•ํƒœ๋กœ ์ž‘์„ฑํ•œ๋‹ค.

 

 

 my solution (Java)

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class _3054_ { // ํ”ผํ„ฐํŒฌ ํ”„๋ ˆ์ž„

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		String str = bf.readLine();

		char arr[][] = new char[5][5 * str.length() - (str.length() - 1)];

		int dx[] = { -2, -1, -1, 0, 0, 1, 1, 2 };
		int dy[] = { 0, -1, 1, -2, 2, -1, 1, 0 };

		for (int i = 0; i < str.length(); i++) {
			arr[2][2 + (4 * i)] = str.charAt(i);

			for (int j = 0; j < 8; j++) {
				if ((i + 1) % 3 == 0) {
					arr[2 + dx[j]][2 + (4 * i) + dy[j]] = '*';
				} else {
					if (arr[2 + dx[j]][2 + (4 * i) + dy[j]] == '*') {
						continue;
					}
					arr[2 + dx[j]][2 + (4 * i) + dy[j]] = '#';
				}
			}
		}

		for (int i = 0; i < 5; i++) {
			for (int j = 0; j < arr[0].length; j++) {
				if (arr[i][j] != '*' && arr[i][j] != '#' && !Character.isAlphabetic(arr[i][j])) {
					bw.write(".");
				} else {
					bw.write(arr[i][j]);
				}
			}
			bw.write("\n");
		}
		bw.flush();
	}
}
๋ณ€์ˆ˜)
str : ๋‹จ์–ด
arr : ํ”„๋ ˆ์ž„ ์ ์šฉํ•˜๋Š” ๋ฐฐ์—ด 
dx, dy : ๋‹ค์ด์•„๋ชฌ๋“œ ์œ„์น˜

 

๋‹จ์–ด ๊ธธ์ด๋งŒํผ ํƒ์ƒ‰ํ•˜๋ฉด์„œ ๋‹ค์Œ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

 

1) ๋ฐฐ์—ด ์ค‘์•™์— ์•ŒํŒŒ๋ฒณ์„ ์ €์žฅํ•œ๋‹ค.

2) ๋‹ค์ด์•„๋ชฌ๋“œ ์œ„์น˜์— ๋งž๊ฒŒ ํ”„๋ ˆ์ž„์„ ์ ์šฉํ•œ๋‹ค. 3์˜ ๋ฐฐ์ˆ˜ ์œ„์น˜์ผ ๋•Œ๋Š” *์„ ์ €์žฅํ•œ๋‹ค. 3์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹ˆ์ง€๋งŒ ์ด๋ฏธ *๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค๋ฉด ๋„˜์–ด๊ฐ„๋‹ค. *๊ฐ€ ์—†๋‹ค๋ฉด #๋กœ ์ €์žฅํ•œ๋‹ค.

 

์ตœ์ข… ๋ฐฐ์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค. ๋ฐฐ์—ด์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ. ์„ ์ถœ๋ ฅํ•˜๊ณ  ์•„๋‹Œ ๊ฒฝ์šฐ์—๋Š” ๋ฐฐ์—ด์˜ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.