1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.
class Solution {
public int solution(int i, int j, int k) {
char K = (char) ('0' + k); // k를 ASCII 코드로 변환하여 char K에 저장
int result = 0;
for (int n = i; n <= j; ++n) {
for (char ch : Integer.toString(n).toCharArray()) {
//Integer.toString를 통해 숫자를 문자열로 변환
//.toCharArray()를 통해 문자열를 문자배열로 변환
if (ch == K) {
++result;
}
}
}
return result;
}
}
foreach 말고 풀어쓰면 :
String numString = Integer.toString(n); // 현재 숫자 n을 문자열로 변환
char[] charArray = numString.toCharArray(); // 문자열을 문자 배열로 변환
for (int index = 0; index < charArray.length; index++) {
char ch = charArray[index]; // 현재 문자 ch
ASCII 코드
정수와 문자 간의 변환은 ASCII 코드를 기반으로 동작합니다. 정수 값과 해당하는 ASCII 문자 사이의 관계는 다음과 같습니다:
정수 값에 0을 더하면, 해당하는 ASCII 코드 값을 얻을 수 있습니다.
ASCII 코드 값에 0을 빼면, 해당하는 정수 값을 얻을 수 있습니다.
예를 들어, 정수 65는 ASCII 코드에서 대문자 'A'를 나타내는 값입니다. 정수 65에 0을 더하면, ASCII 코드 값인 65를 얻을 수 있습니다. 마찬가지로, ASCII 코드 값 65에 0을 빼면 정수 값 65를 얻을 수 있습니다.
'ㅋㅌ' 카테고리의 다른 글
자바 문법 정리 (0) | 2023.06.14 |
---|---|
가위바위보 char[] charArray = string.toCharArray() (1) | 2023.06.14 |
겹치는 문자 제거한 문자열 출력/ substring, . equals, charAt, replace (0) | 2023.06.13 |
인덱스 바꾸기 // 문자열을 char 배열로 변환: char[] array = my_string.toCharArray(); / char 데이터를 문자열로 변환: String.valueOf(array) (0) | 2023.06.12 |
외계행성 나이구하기 // 집념의 if / String [] a = {"a","b"} / Integer.toString(age) // ASCII 코드를 이용한 풀이 (0) | 2023.06.12 |