[백준] 2804번 크로스워드 만들기 (java)

728x90
반응형

www.acmicpc.net/problem/2804

 

2804번: 크로스워드 만들기

A의 길이를 N, B의 길이를 M이라고 했을 때, 출력은 총 M줄이고, 각 줄에는 N개 문자가 있어야 한다. 문제 설명에 나온 것 같이 두 단어가 교차된 형태로 출력되어야 한다. 나머지 글자는 '.'로 출력

www.acmicpc.net

import java.util.Scanner;

//2804번 
public class Main {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String a=sc.next();
		String b=sc.next();
		int n=0,m=0;
		for (int i = 0; i < a.length(); i++) {
			if(b.indexOf(a.charAt(i))!=-1) {
				n=i;
				m=b.indexOf(a.charAt(i));
				break;
			}
		}
		
		char[][] map=new char[b.length()][a.length()];
		
		for (int i = 0; i < map.length; i++) {
			for (int j = 0; j < map[0].length; j++) {
				if(i==m) {
					map[i][j]=a.charAt(j);
				}else if(j==n) {
					map[i][j]=b.charAt(i);
				}else {
					map[i][j]='.';
				}
			}
		}
		
		for (int i = 0; i < map.length; i++) {
			for (int j = 0; j < map[0].length; j++) {
				System.out.print(map[i][j]);
			}
			System.out.println();
		}
		
		
	}
}
728x90
반응형
TAGS.

Comments