[백준] 1919 - 애너그램 만들기 (JAVA)

leeng·2025년 1월 13일
0

[백준] 1919 - 애너그램 만들기

애너그램은 결국 순서에 상관없이 두 단어의 철자의 알파벳 개수가 같으면 조건을 만족하기 때문에, 문제를 풀기 위해서는 두 단어의 알파벳 개수 차이를 전부 더해주면 된다.

그러기 위해서 우선 행의 길이 2(두 개의 단어), 열의 길이 26(알파벳)을 가진 2차원 배열을 선언해주고, 각 단어의 철자를 하나씩 살펴보며 해당하는 알파벳의 개수를 증가시킨다.

마지막에는 알파벳 순서대로 반복문을 돌면서 0번째 배열과 1번째 배열의 알파벳 개수 차이를 delete에 합산한 후 출력해주면 된다.

아래는 전체 소스코드이다.

// 1919 - 애너그램 만들기
public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int[][] alphabet = new int[2][26];
        for (int i = 0; i < 2; i++) {
            String input = br.readLine();
            for (int j = 0; j < input.length(); j++) {
                alphabet[i][input.charAt(j) - 'a']++;
            }
        }
        int delete = 0;
        for (int j = 0; j < alphabet[0].length; j++) {
            delete += Math.abs(alphabet[0][j] - alphabet[1][j]);
        }

        bw.write(delete+"");
        bw.close();
    }
}
profile
기술블로그보다는 기록블로그

0개의 댓글

관련 채용 정보