문제 : https://www.acmicpc.net/problem/11383
11383번: 뚊
입력의 첫 번째 줄에 N, M (1 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄의 각 줄에는 M개의 문자가 주어진다. 다음 N개의 줄의 각 줄에는 2M개의 문자가 주어진다. 모든 문자는 영문 알파벳 대문자 혹
www.acmicpc.net
문제 요약 : 주어진 문자열을 2배로 늘렸을 때 같은 문자열인지 아닌지 판단
입력 | 출력 |
1 ≤ N(문자 행) ≤ 10 1 ≤ M(문자 열) ≤ 10 |
가로로 2배 늘렸을 때 같을 경우 "Eyfa" 출력 다를 경우 "Not Eyfa" 출력 |
JAVA
소스코드 : https://github.com/cbkpar/BOJ/blob/main/boj_11383.java
채점 번호 | 아이디 | 문제 번호 | 결과 | 메모리 | 시간 | 언어 | 코드 길이 |
30902114 | cbkpar | 11383 | 맞았습니다!! | 14156KB | 136ms | Java 11 | 739B |
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n,m,i;
String str1, str2;
StringTokenizer st = new StringTokenizer(br.readLine());
n = Integer.parseInt(st.nextToken());
m = Integer.parseInt(st.nextToken());
str1 = str2 = "";
for(i=0;i<n;i++) str1 = str1 + br.readLine();
for(i=0;i<n;i++) str2 = str2 + br.readLine();
boolean chk = false;
for(i=0;i<n*m*2;i++) if(str2.charAt(i)!=str1.charAt(i/2)) {
chk = true;
break;
}
System.out.println(chk?"Not Eyfa":"Eyfa");
}
}
각 문자열을 일자로 붙여 둔 뒤
2배로 늘려주지 않은 문자열 하나당 2배로 늘려준 문자열 2개씩 비교한다.
예제 )
2 2
AB
CD
AABB
CCDD
'백준온라인' 카테고리의 다른 글
[백준온라인] 10205번 헤라클레스와 히드라 (0) | 2021.07.20 |
---|---|
[백준온라인] 3181번 줄임말 만들기 (0) | 2021.07.19 |
[백준온라인] 10570번 Favorite Number (0) | 2021.07.17 |
[백준온라인] 5671번 호텔 방 번호 (0) | 2021.07.16 |
[백준온라인] 2697번 다음수 구하기 (0) | 2021.07.15 |