문제

이 문제는 딱히 설명할 것이 많지 않은 문제이다.

두문장 중 첫번째로 같은 문자의 2개의 문자 Index를 받으면 해결된다.

시간복잡도 부분을 살펴보면 최대 30글자이기 때문에 문제가 되지 않는다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import java.util.*;
 
public class Main{
    public static char [][]arr;
    public static int x;
    public static int y;
    public static boolean al=false;
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str1=sc.next();
        String str2=sc.next();
        
        int number1=str1.length();
        int number2=str2.length();
        
        arr=new char[number2][number1];
        
        Init(number2,number1);
        
        for(int i=0;i<number1;i++)
        {
            if(al==true)
            {
                break;
            }
            char temp2=str1.charAt(i);
            for(int j=0;j<number2;j++)
            {
                char temp1=str2.charAt(j);
                if(temp2==temp1)
                {
                    x=i;
                    y=j;
                    al=true;
                    break;
                }
            }
        }
        for(int i=0;i<number1;i++)
        {
            arr[y][i]=str1.charAt(i);
        }
        for(int i=0;i<number2;i++)
        {
            arr[i][x]=str2.charAt(i);
        }
        print(number2,number1);
        
    }
    private static void print(int number2, int number1) {
        for(int i=0;i<number2;i++)
        {
            for(int j=0;j<number1;j++)
            {
                System.out.print(arr[i][j]);
            }
            System.out.println();
        }
        
    }
    private static void Init(int number2, int number1) {
        for(int i=0;i<number2;i++)
        {
            for(int j=0;j<number1;j++)
            {
                arr[i][j]='.';
            }
        }
        
    }
}
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter

 

https://www.acmicpc.net/problem/2804

 

2804번: 크로스워드 만들기

문제 창영이는 크로스워드 퍼즐을 만들려고 한다. 두 단어 A와 B가 주어진다. A는 가로로 놓여야 하고, B는 세로로 놓어야 한다. 또, 두 단어는 서로 교차해야 한다. (정확히 한 글자를 공유해야 한다) 공유하는 글자는 A와 B에 동시에 포함되어 있는 글자여야 하고, 그런 글자가 여럿인 경우 A에서 제일 먼저 등장하는 글자를 선택한다. 마찬가지로 이 글자가 B에서도 여러 번 등장하면 B에서 제일 처음 나오는 것을 선택한다. 예를 들어, A = "ABBA

www.acmicpc.net

 

'알고리즘 > 문제' 카테고리의 다른 글

블라인드  (0) 2019.06.30
블랙잭  (0) 2019.06.30
컵홀더  (0) 2019.06.30
ALPS식 투표  (0) 2019.06.30
숫자 정사각형  (0) 2019.06.30

+ Recent posts