https://www.acmicpc.net/problem/11383
분류
- 문자열
- 구현
문제 설명
정우는 "뚊"과 "돌돔"을 의미하는 두 이미지를 받았다. 과연 두 그림이 같은지 검사해보자. 즉 N× M 크기의 이미지와 N ×2 M 크기의 이미지가 주어질 때 첫 번째 이미지를 가로로 두 배로 늘이면 두 번째 이미지가 되는지 검사하는 프로그램을 작성하라.
입력
입력의 첫 번째 줄에 N, M (1 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄의 각 줄에는 M개의 문자가 주어진다. 다음 N개의 줄의 각 줄에는 2M개의 문자가 주어진다. 모든 문자는 영문 알파벳 대문자 혹은 소문자이다.
출력
첫 번째로 주어진 이미지를 가로로 두 배로 늘렸을 때 두 번째 이미지가 된다면 "Eyfa"을 출력하고, 되지 않는다면 "Not Eyfa"을 출력한다.
소스코드
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
StringBuilder sb = new StringBuilder();
StringBuilder sb2 = new StringBuilder();
for (int i = 0; i < N; i++) {
String[] word = br.readLine().split("");
for (int j = 0; j < M; j++) {
sb.append(word[j]);
sb.append(word[j]);
}
}
for (int i = 0; i < N; i++) {
sb2.append(br.readLine());
}
String sb3 = sb.toString();
String sb4 = sb2.toString();
if (sb3.equals(sb4)) {
System.out.println("Eyfa");
} else System.out.println("Not Eyfa");
}
}
문제풀이
- BufferReader 사용해 받은 문자열들을 각 문자들을 2개씩으로 늘려 StringBuilder에 저장
- 나중에 받은 문자열들을 한꺼번에 또다른 StringBuilder에 저장
- 위 두 StringBuilder가 같은지 검사.
'Koala - 14기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/Python] 16955번 오목, 이길 수 있을까? (0) | 2024.05.19 |
---|---|
[백준/Python] 8989번 시계 (0) | 2024.05.12 |
[백준/Java] 15874번 : Caesar Cipher (0) | 2024.05.06 |
[백준/Python] 5430번 AC (0) | 2024.05.05 |
[백준/Python3] 10798번 세로읽기 (0) | 2024.05.05 |