SWEA(SWExpertacAdemy)

[SWEA] 10804. 문자열의 거울상 D3 (자바)

심층코드 2025. 5. 15. 19:52

10804. 문자열의 거울상 D3


[문제]
‘b’, ‘d’, ‘p’, ‘q’로 이루어진 문자열이 주어진다. 이 문자열을 거울에 비추면 어떤 문자열이 되는지 구하는 프로그램을 작성하라.

예를 들어, “bdppq”를 거울에 비추면 “pqqbd”처럼 나타날 것이다.

 

[입력]

첫 번째 줄에 테스트 케이스의 수 T가 주어진다.

각 테스트 케이스의 첫 번째 줄에는 ‘b’, ‘d’, ‘p’, ‘q’만으로 이루어진 하나의 문자열이 주어진다. 문자열의 길이는 1이상 1000이하이다.

 

[출력]

각 테스트 케이스마다 주어진 문자열을 거울에 비춘 문자열로 출력한다.

입력
2
bdppq
qqqqpppbbd
//전체 테스트 케이스 수
//첫 번째 테스트 케이스
//두 번째 테스트 케이스
출력
#1 pqqbd
#2 bddqqqpppp
// 첫 번째 테스트 케이스의 답
// 두 번째 테스트 케이스의 답

[코드]

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 = 1; i <= T; i++) {
			String A= br.readLine();
			char[] arr= new char[A.length()];
			for (int j = 0; j < A.length(); j++) {
				arr[j]=A.charAt(j);
			}
			for (int i2 = 0; i2 < A.length(); i2++) {
				if(arr[i2]=='b') {
					arr[i2]='d';
				}
				else if(arr[i2]=='d') {
					arr[i2]='b';
				}
				else if(arr[i2]=='p') {
					arr[i2]='q';
				}
				else if(arr[i2]=='q') {
					arr[i2]='p';
				}
			}
			System.out.print("#"+i+" ");
			for (int i3 = A.length()-1; i3 >=0; i3--) {
				System.out.print(arr[i3]);
			}
			System.out.println();
		}
		br.close();
	}
}