life is egg

문자열 압축 본문

알고리즘/개인공부

문자열 압축

삶은계란진재혁 2023. 3. 28. 23:45
  • i와 i+1이 같다면 카운트 1증가 카운트 초기값은 1할당
  • 같지 않다면 카운트 1 초기화 그리고 answer에다가 값이랑 1보다 크다면 cnt추가
  • 그러면 인덱스범위오류안나랄면 어떻게 하냐... 빈문자열을 추가시켜주셈.. ! 
  • 그리고 for문 범위를 .. ! 하나 적게까지 하는게 포인
import java.util.*;
class Main {	
	public String solution(String s){
		String answer="";
		s=s+" ";
		int cnt=1;
		for(int i=0; i<s.length()-1; i++){
			if(s.charAt(i)==s.charAt(i+1)) cnt++;
			else{
				answer+=s.charAt(i);
				if(cnt>1) answer+=String.valueOf(cnt);
				cnt=1;
			}
		}
		return answer;
	}

	public static void main(String[] args){
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		String str=kb.next();
		System.out.println(T.solution(str));
	}
}

'알고리즘 > 개인공부' 카테고리의 다른 글

[Array] 큰 수 출력하기  (0) 2023.04.06
암호  (0) 2023.03.29
가장 짧은 문자거리  (0) 2023.03.28
숫자만 추출  (0) 2023.03.28
팰린드롬  (0) 2023.03.28
Comments