문제
나의 생각
i 부터 j의 까지 값을 for문으로 돌리면서 각 값을 string으로 변환.
charAt값과 k 값이 같을때 answer++ 해주는 방식.
나의 답안
public static int solution(int i, int j, int k) {
int answer = 0;
for (int a = i; a <= j; a++) {
String s = Integer.toString(a);
for (int b = 0; b < s.length(); b++) {
if (s.charAt(b) - '0' == (char) k ) {
answer++;
}
}
}
return answer;
}
다른 답안
값을 다 문자열로 다 치환하고 k의 값만 빈문자열로 변환. 그렇게되면 원래 문자열길이에서 변경된 문자열에서의 차이는 오로지 k의 값이므로 해당 값을 추출 할 수 있음.
class Solution {
public int solution(int i, int j, int k) {
String str = "";
for(int a = i; a <= j; a++) {
str += a+"";
}
return str.length() - str.replace(k+"", "").length();
}
}
'Programmers 문제풀이 > Lv.0' 카테고리의 다른 글
한 번만 등장한 문자 (0) | 2023.03.01 |
---|---|
진료순서 정하기 (0) | 2023.03.01 |
가까운 수 (0) | 2023.03.01 |
2차원으로 만들기 (0) | 2023.03.01 |
팩토리얼 (3) | 2023.02.28 |