강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

감자도리님의 프로필 이미지
감자도리

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

11. 문자열 압축 질문

작성

·

259

0

public String solution(String str) {

String answer = "";

str = str +" ";

int count = 1;

for (int i = 0; i < str.length() - 1; i++) {

if (str.charAt(i) == str.charAt(i + 1)) {

count++;

} else {

answer += str.charAt(i);

if(count > 1) {

answer+=String.valueOf(count);

count = 1;

}

}

}

return answer;

}

 

안녕하세요 선생님 강의 잘 듣고 있는 입문자 수준의 학생입니다

이번 강의에서 문자열 Str에 " ", 빈 공간을 주어서 문자열의 마지막 문자(ex. KKHSSSSSSSE

의 E)와 빈 공간을 비교하여 마지막 문자를 answer에 담아주는 것으로 이해하였는데 제가 올바르게 이해한 게 맞나요?

그리고 str.length() 에 -1 을 해주셨는데 그게 빈 공간과 없는 공간이 비교되는 걸 막기 위함이 맞나요? 원래 str.length()를 해줬다면 빈 공간(" ")까지로 length()가 잡혀 빈 공간과 없는 공간이 비교되기 때문인 것 맞나요?

좋은 강의 만들어주셔서 감사합니다!!

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

네. 정확하게 잘 이해하고 계십니다.

감사합니다.

감자도리님의 프로필 이미지
감자도리

작성한 질문수

질문하기