티스토리 뷰


1. Java 구현

        
import java.io.*;
import java.util.*;

public class Main {
	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		StringBuilder sb = new StringBuilder();
		
		int n = Integer.parseInt(br.readLine());
		for(int i = 0; i < n; i++) {
			int h =  Integer.parseInt(br.readLine().split(" ")[0]);
			for(int j = 0; j < h; j++) {
				sb.append(new StringBuilder(br.readLine()).reverse()).append("\n");
			}
		}
		
		bw.write(sb.toString());
		bw.close();
	}
}


2. 코드설명

 이 문제는 입력받은 문자열을 90º 또는 180º 또는 270º 방향 중 하나를 선택해서 출력하면 되는 문제이다.

 문자열 뒤집기를 2차원 배열형태라 생각한다. 나는 가장 쉬운 좌우대칭으로 고기를 뒤집는 방법으로 문제를 풀었다.

 반복문을 통해 문자열의 끝자리 부터 하나씩 읽는 방법으로 풀 수 있지만, StringBuilder를 이용해서 풀었다.

 StringBuilder 의 reverse() 메소드를 사용하면 StringBuilder 내부에 있는 문자열들을 뒤집을 수 있다.


3. Pain Point

 문제가 굉장히 길기 때문에 매우 어려운 문제라고 생각했지만, 잘 생각해보면 어렵지 않고 간단한 문제였다. 

 문제의 길이만 보고 겁내지 말아야 겠다!


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함