<BOJ>1919번: 애너그램 만들기

라모스·2021년 9월 13일
0

BOJ

목록 보기
5/22
post-thumbnail

문제


1919번: 애너그램 만들기

접근

  • 입력된 두 문자열이 애너그램 관계가 되도록 하려면 중복되는 문자열을 제외한 나머지를 없애면 된다.
  • 배열을 가지고 푸는게 현명하지 않을까...?

내 코드

import java.io.*;

public class Main {
    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    static int[][] arr = new int[2][26];
    static int count;
    public static void main(String[] args) throws IOException {
        char[] a = br.readLine().toCharArray();
        char[] b = br.readLine().toCharArray();
        for (char c : a) {
            arr[0][c-'a']++;
        }
        for (char c : b) {
            arr[1][c-'a']++;
        }
        for (int i = 0; i < 26; i++) {
            count += Math.abs(arr[0][i]-arr[1][i]);
        }
        System.out.println(count);
    }
}
  • c-'a'는 ASCII 코드를 index 값으로 변환시켜 각 알파벳에 맞는 index에 정보를 두기 위함.
  • 결국엔 26개의 알파벳 하나하나를 보면서 첫 번째 입력 문자열과 두 번째 입력 문자열에서 얼마나 들어 있는지를 판단하면 답을 낼 수 있다.
profile
Step by step goes a long way.

0개의 댓글