코딩테스트/기초
11. 문자열 압축
누리는 귀여워
2024. 12. 7. 19:20
import java.util.*;
class Main {
public String solution(String str) {
String answer = "";
// 공백을 안넣으면 마지막 글자은 인식이 안됨
str = str + " ";
int cnt = 1;
for(int i = 0; i < str.length()-1; i++) {
// 지금과 다음 글자가 같다면 cnt + 1
if(str.charAt(i) == str.charAt(i+1)) {
cnt++;
// 글자가 다르다면 현재 글자를 answer에 추가
} else {
answer += str.charAt(i);
// cnt가 1 초과면(같은 글자가 여러개라면)
// answer에 cnt를 더하고 1로 초기화
if(cnt > 1) {
answer += 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));
}
}
import java.util.*;
class Main {
public String solution(String str) {
String answer = "";
str = str + " ";
int cnt = 1;
for(int i = 0; i < str.length()-1; i++) {
if(str.charAt(i) == str.charAt(i+1)) {
cnt++;
} else {
answer += str.charAt(i);
if(cnt > 1) {
answer += 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));
}
}