애너그램 만들기

문제 풀러가기

1919

코드

import java.util.*;
import java.io.*;

public class Main {
  public static void main(String[] args) throws IOException {
    Scanner sc = new Scanner(System.in);
    String w1 = sc.next();
    String w2 = sc.next();
    int cnt = 0;

    int[] arr1 = new int[26];
    int[] arr2 = new int[26];
    for(int i = 0; i < w1.length(); i++) {
      arr1[w1.charAt(i) - 'a']++;
    }

    for(int i = 0; i < w2.length(); i++) {
      arr2[w2.charAt(i) - 'a']++;
    }

    for(int i = 0; i < 26; i++) {
      if(arr1[i] != arr2[i]) {
        cnt += Math.abs(arr1[i] - arr2[i]);
      }
    }

    System.out.println(cnt);
  }
}

설명

애너그램이라고 어렵게 생각할 것 없이 사용된 알파벳의 개수를 각각 구했다. 각자 구해진 알파벳의 개수를 비교해서 개수가 다른 알파벳들의 수를 출력하도록 구현했다.