-
[백준 - 3023번] 마술사 이민혁 - Java //Wello Horld //Algorithm/BOJ(Baekjoon Online Judge) 2020. 3. 12. 15:49
이번에는 BOJ의 3023번 문제 "마술사 이민혁" 을 풀어보도록 하자
입력으로, 첫째 줄에 행의 개수 R 과 열의 개수 C 가 차례로 주어진다. 그 다음 R개 줄만큼 C개의 문자가 '.' 또는 '#' 으로 주어진다.
마지막 줄에는 에러의 위치 (A, B) 가 차례로 주어진다.출력으로 카드 뒷 면 전체의 디자인을 출력하면 되는 문제이다.
성공한 코드는 다음과 같다.
import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st = new StringTokenizer(br.readLine()); int R = Integer.parseInt(st.nextToken()); int C = Integer.parseInt(st.nextToken()); char[][] carr = new char[R * 2][C * 2]; for(int i = 0; i < R; i++){ String line = br.readLine(); for(int j = 0; j < C; j++){ carr[i][j] = line.charAt(j); } } for(int i = 0; i < R; i++){ for(int j = 0; j < C; j++){ carr[i][2 * C - 1 - j] = carr[i][j]; } } for(int i = 0; i < R; i++){ for(int j = 0; j < 2 * C; j++){ carr[2 * R - 1 - i][j] = carr[i][j]; } } st = new StringTokenizer(br.readLine()); int r = Integer.parseInt(st.nextToken()); int c = Integer.parseInt(st.nextToken()); r -= 1; c -= 1; if(carr[r][c] == '#') carr[r][c] = '.'; else carr[r][c] = '#'; for(int i = 0; i < 2 * R; i++){ for(int j = 0; j < 2 * C; j++){ bw.write(carr[i][j]); } bw.write("\n"); } bw.flush(); br.close(); bw.close(); } }
문제 : https://www.acmicpc.net/problem/3023
혹시 코드에 이상한 부분이나 틀린 부분이 있던지, 이해가 안가는 부분이 있다면 댓글로 알려주세요
'Algorithm > BOJ(Baekjoon Online Judge)' 카테고리의 다른 글
[백준 - 2799번] 블라인드 - Java //Wello Horld // (0) 2020.03.17 [백준 - 16194번] 카드 구매하기2 - Java //Wello Horld // (0) 2020.03.17 [백준 - 8320번] 직사각형을 만드는 방법 - Java //Wello Horld // (0) 2020.03.11 [백준 - 10464번] XOR - Java //Wello Horld // (0) 2020.03.10 [백준 - 13699번] 점화식 - Java //Wello Horld // (0) 2020.03.09