인프런 커뮤니티 질문&답변
String.valueOf(cnt)를 하지 않고 cnt만 하면 문제가 생길까요? 그리고 cnt의 위치!
작성
·
311
1
import java.util.Scanner;
public class Main {
public String solution(String str) {
String answer = "";
int cnt = 1 ;
str += " ";
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 >= 2) answer += cnt; // 문자열 더하기라 정수형태로 해도 괜찮을 것 같은데 String.valueOf(cnt)를 한 이유가 궁금합니다 !
cnt = 1; // 이건 if(cnt >=2) 조건에 넣는게 더 효율적이지 않을까 생각드는데 어떻게 생각하시나요? ㅎㅎ
}
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner scan = new Scanner(System.in);
String str = scan.next();
System.out.println(T.solution(str));
}
}퀴즈
61%나 틀려요. 한번 도전해보세요!
대소문자를 구분하지 않고 문자열 내 특정 문자의 총 개수를 세려면, 어떤 방법이 가장 효율적일까요?
문자열을 반복하며 각 문자가 찾으려는 문자의 대문자 또는 소문자인지 모두 비교한다.
문자열 전체를 한 가지 케이스(예: 모두 대문자)로 통일한 후 해당 문자의 개수를 센다.
대문자와 소문자의 개수를 각각 세어 합산한다.
Set 자료구조를 사용하여 중복 없이 문자를 저장한 후 개수를 센다.





