말랑한 하루

[SW Expert Academy] 7272 안경이 없어! [Java] 본문

문제풀이/SWexpert Academy

[SW Expert Academy] 7272 안경이 없어! [Java]

지수는말랑이 2021. 1. 31. 00:08
반응형

[ 시간복잡도 ]

[ 핵심풀이 ]

길이가 다를경우와
B만 정확하게 볼 수 있는 경우를 걸러주면된다.

[ 핵심소스 ]

if (temp1.charAt(s) == 'B' || temp2.charAt(s) == 'B') {
    if(temp1.charAt(s) != temp2.charAt(s)) {
        flag=false;
        System.out.println("DIFF");
        break;
    }
continue;
}

[ Java ]

import java.util.Scanner;

public class _7272_안경이없어 {
    public static void main(String[] args) {
        int alpha[] = { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 };
        Scanner sc = new Scanner(System.in);
        int TC = sc.nextInt();
        for (int t = 1; t <= TC; t++) {
            String temp1 = sc.next();
            String temp2 = sc.next();
            System.out.print("#" + t + " ");
            if (temp1.length() != temp2.length()) {
                System.out.println("DIFF");
                continue;
            }
            boolean flag = true;
            for (int s = 0; s < temp1.length(); s++) {
                if (temp1.charAt(s) == 'B' || temp2.charAt(s) == 'B') {
                    if(temp1.charAt(s) != temp2.charAt(s)) {
                        flag=false;
                        System.out.println("DIFF");
                        break;
                    }
                    continue;
                }
                if (alpha[temp1.charAt(s) - 'A'] != alpha[temp2.charAt(s) - 'A']) {
                    System.out.println("DIFF");
                    flag = false;
                    break;
                }
            }
            if (flag)
                System.out.println("SAME");
        }
    }
}
반응형
Comments