문제 : 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

 

+ Recent posts