[JAVA] SWEA 7272 - 안경이 없어!

hyng·2022년 2월 8일
0

SWEA

목록 보기
29/78

Solution

  • 먼저 init()에서 경근이가 같다고 생각하는 알파벳을 같은 value 값으로 map에 넣어준다.
  • 입력받은 두 개의 문자열의 길이가 다른 경우는 다른 문자열로 취급한다.
  • 입력받은 두 개의 문자열의 길이가 같다면 한 글자씩 map에서 찾아 정숫값을 비교하고 만약 다르다면 다른 문자열로 취급한다.

Code

import java.util.*;
class Solution
{
    static HashMap<Character, Integer> map = new HashMap<>();

	public static void main(String args[]) throws Exception
	{
		Scanner sc = new Scanner(System.in);
        StringBuffer sb = new StringBuffer();

        init();

        int T = Integer.parseInt(sc.nextLine());
        for(int tc=1; tc<=T; tc++){
            sb.append("#").append(tc).append(" ");

            String input[] = sc.nextLine().split(" ");
            String str1 = input[0];
            String str2 = input[1];

            sb.append(compare(str1,str2)).append("\n");
        }
        System.out.println(sb);

	}
    static String compare(String str1, String str2) {
        if(str1.length() != str2.length()){
            return "DIFF";
        }
        for(int i=0; i<str1.length(); i++){
            int n1 = map.get(str1.charAt(i));
            int n2 = map.get(str2.charAt(i));

            if(n1 != n2)
                return "DIFF";
        }
        return "SAME";
    }

    static void init(){
        //CEFGHIJKLMNSTUVWXYZ
        map.put('C', 1);
        map.put('E', 1);
        map.put('F', 1);
        map.put('G', 1);
        map.put('H', 1);
        map.put('I', 1);
        map.put('J', 1);
        map.put('K', 1);
        map.put('L', 1);
        map.put('M', 1);
        map.put('N', 1);
        map.put('S', 1);
        map.put('T', 1);
        map.put('U', 1);
        map.put('V', 1);
        map.put('W', 1);
        map.put('X', 1);
        map.put('Y', 1);
        map.put('Z', 1);

        //ADOPQR
        map.put('A', 2);
        map.put('D', 2);
        map.put('O', 2);
        map.put('P', 2);
        map.put('Q', 2);
        map.put('R', 2);

        //B
        map.put('B', 3);

    }
}
profile
공부하고 알게 된 내용을 기록하는 블로그

0개의 댓글