본문 바로가기
알고리즘

Alternating Characters 풀이 Java

by 내기록 2022. 7. 11.
반응형
 

Alternating Characters | HackerRank

Calculate the minimum number of deletions required to convert a string into a string in which consecutive characters are different.

www.hackerrank.com

 

문제

5
AAAA
BBBBB
ABABABAB
BABABA
AAABBB

 

인접한 모든 문자가 같지 않으려면 몇 글자를 삭제해야 하는가?

 

 

아주 기본문제구만 허허..

 

class Result {

    public static int alternatingCharacters(String s) {
        char[] arr = s.toCharArray();
        
        int res = 0;
        for(int i = 0; i< arr.length-1; i++) {
            char st = arr[i];
            char end = arr[i+1];
            
            if(st == end)
            res ++;
            
        }
        return res;

    }
}

Queue도 사용해봄

class Result {

    public static int alternatingCharacters(String s) {
        Queue<Object> q = new LinkedList<Object>();

        for (char c : s.toCharArray()) {
            q.add(c);
        }
        
        int res = 0;
        char start = (char) q.poll();
        while(!q.isEmpty()) {
            char end = (char)q.poll();
            
            if(start == end) {
                res ++;
            }else {
                start = end;
            }
        }
        return res;
    }
}
반응형

댓글