CodeWars 스물 두 번째 문제

Updated:

Counting Duplicates

public static int duplicateCount(String text) {
    char[] letters = text.toLowerCase().toCharArray();
    Arrays.sort(letters);

    int letterCount = 0;
    int duplicateCount = 0;

    for(int i = 1; i < letters.length; i++) {
        if(letters[i-1] == letters[i]) {
            letterCount++;

            if(letterCount == 1) {
                duplicateCount++;
            }
        } else {
            letterCount = 0;
        }
    }

    return duplicateCount;
}

*나름 동적을 짜려고 했으나.. 굳이 char 배열로 바꾸지 않고 할 수 있는 더 좋은 코드가 있었다. 쓰벌 하 갈길이 멀다.

*subString에 대해서 조금 관찰할 필요가 있어 보인다. String post를 업데이트 해야겠다.

public static int duplicateCount(String text) {

	int duplicateCount = 0;
	
	text = text.toUpperCase();
	
	while(text.length() > 0) {
		
		String firstLetter = text.substring(0,1);
		text = text.substring(1);
		
		if(text.contains(firstLetter)) {
			duplicateCount++;
		}
		
		text = text.replace(firstLetter, "");
	}
	
	return duplicateCount;
}