38. Count and Say

JJ·2020년 12월 3일
0

Algorithms

목록 보기
11/114
public String countAndSay(int n) {
    if(n==1) return "1";
    String ans = "1";
    for(int i=2; i<=n; i++){
        ans = f(ans);
    }
    return ans;
}

String f(String s){
    char ch = s.charAt(0);
    int count = 1;
    StringBuilder sb = new StringBuilder();
    for(int i=1; i<s.length(); i++){
        if(s.charAt(i) != ch){
            sb.append(count).append(ch);
            ch = s.charAt(i);
            count = 1;
        } else {
            count++;
        }
    }
    sb.append(count).append(ch);
    return sb.toString();
}

Runtime: 0 ms, faster than 100.00% of Java online submissions for Count and Say.

Memory Usage: 36.9 MB, less than 79.98% of Java online submissions for Count and Say.

0개의 댓글