Algorithm

회문과 순열관계인지 확인하기

kjy0349 2021. 2. 19. 20:45

처음에 한 손코딩으로는 실패했지만, 문제 해결 과정을 통해 버그를 고쳐냈다.

 

오늘 해본 문제는 주어진 문자열이 회문과 순열관계인지(해당 문자열을 다시 섞을 경우에 회문을 만들 수 있는지) 판별해주는 문제였다.

 

package arrayandString_4;

import java.util.*;
public class Palindrome {
	boolean isPerpalindrome(String str) {
		int s_count = 0;
		char[] chararray = str.toCharArray();
		Arrays.sort(chararray);
		for(int i=0;i<chararray.length-1;i++) {
			if(chararray[i] == chararray[i+1]) {
				s_count++;i++;
			}
		}
		if(s_count == chararray.length/2) return true;
		else return false;
	}
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		String str = scan.nextLine();
		str = str.toLowerCase();
		str = str.replaceAll(" ", "");
		Palindrome p = new Palindrome();
		System.out.println(p.isPerpalindrome(str));
	}
}