[백준(Baekjoon)][자바(java)] 6996 : 애너그램

728x90

 

https://www.acmicpc.net/problem/6996

 

6996번: 애너그램

첫째 줄에 테스트 케이스의 개수(<100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 100을 넘지 않는 단어가 공백으로 구분되어서 주어진다. 단어는 알파벳 소문자로만 이루어

www.acmicpc.net

 

문제 풀이

 

	private boolean solveAnagrams(String first, String second) {
		if (first.length() != second.length()) return false;
		int alphabet[] = new int[26];
		for (char c : first.toCharArray())
			alphabet[c - 'a']++;
		for (char c : second.toCharArray()) {
			alphabet[c - 'a']--;
			if (alphabet[c - 'a'] < 0) return false;
		}
		return true;
	}

 

다른 풀이 참고

더보기
	private boolean solveAnagrams(String first, String second) {
		if (first.length() != second.length()) return false;
		char[] c1 = first.toCharArray(), c2 = second.toCharArray();
		Arrays.sort(c1);
		Arrays.sort(c2);
		return Arrays.equals(c1, c2);
	}

 

 

반응형