4751. 다솔이의 다이아몬드 장식 D3
다솔이는 어떤 문자열을 하나 가지고 있는데, 이 문자열이 별로 아름답지 못하다고 생각하고 있다.
그래서 장식을 해주기로 했다.
예를 들어 문자열이 “D”라면 주위를 ‘#’로 이루어진 다이아몬드로 감싸서 다음과 같이 5x5크기로 장식한다.
빈 곳은 ‘.’로 표시한다.

만약 문자열의 길이가 1보다 더 크면, 인접한 문자는 ‘#’과 ‘.’을 공유하여 장식한다.
예를 들어 문자열이 “APPLE”이면 다음과 같이 장식한다.

주어진 문자열을 장식해주는 프로그램을 작성하라.
[입력]
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 길이가 1이상 50이하인 문자열이 주어진다.
[출력]
각 테스트 케이스마다 다섯 줄에 걸쳐 장식된 문자열을 출력한다.
출력
..#.. .#.#. #.D.# .#.#. ..#.. ..#...#...#...#...#.. .#.#.#.#.#.#.#.#.#.#. #.A.#.P.#.P.#.L.#.E.# .#.#.#.#.#.#.#.#.#.#. ..#...#...#...#...#.. |
// 첫번째 TC의 출력 // 두번째 TC의 출력 |
[코드]
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for (int i = 0; i <T; i++) {
String A=br.readLine();
String arr[]=new String[5];
arr[0]="..#..";
arr[1]=".#.#.";
arr[2]="#."+A.charAt(0)+".#";
arr[3]=".#.#.";
arr[4]="..#..";
if(A.length()==1) {
for (int j = 0; j < 5; j++) {
System.out.println(arr[j]);
}
}
else if(A.length()>1) {
for (int i2 = 1; i2 <= A.length()-1; i2++) {
arr[0]+=".#..";
arr[1]+="#.#.";
arr[2]+="."+A.charAt(i2)+".#";
arr[3]+="#.#.";
arr[4]+=".#..";
}
for (int j = 0; j < 5; j++) {
System.out.println(arr[j]);
}
}
}
}
}
'SWEA(SWExpertacAdemy)' 카테고리의 다른 글
[SWEA] 8741. 두문자어 D3 (자바) (1) | 2025.05.15 |
---|---|
[SWEA] 9997. 미니멀리즘 시계 D3 (자바) (0) | 2025.05.15 |
[SWEA] 2805. 농작물 수확하기 D3 (자바) (0) | 2025.05.14 |
[SWEA] 3456. 직사각형 길이 찾기 D3 (자바) (0) | 2025.05.14 |
[SWEA] 3314. 보충학습과 평균 D3 (자바) (0) | 2025.05.14 |