<문제 제시>
<문제설명>
1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때,
i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.

<예시 입출력>

<문제 해결 과정>
입력받은 범위에서 타겟 Number를 조사하는 문제이다.
일반적인 정수형으로 처리하기보다 Integer.toString을 통해 String형으로 바꾸고, char 자료형으로
target에 해당하는 "문자"를 찾고자 하였다.
String r_s = "";
String target = Integer.toString(k);
char token;
char target_c;
token = r_s.charAt(m);
target_c = target.charAt(0);
입력받은 k값을 String target 변수에 Integer.toString(k)을 통해 저장하고,
i부터 j까지 for문을 반복시키면서
반복문의 반복자(r) 를 Integer.toString(r) 을 통해 r_s 변수에 저장해준 후
그 값 인덱스 별로 charAt()을 통해 token으로 저장한다.
token과 target_c을 비교하여 answer에 횟수를 누적시킨다.
<전체코드>
public class number_k {
public static int solution(int i, int j, int k) {
int answer = 0;
String r_s = "";
String target = Integer.toString(k);
char token;
char target_c;
for(int r = i; r <= j; r++) {
r_s = Integer.toString(r);
for(int m = 0; m < r_s.length(); m++) {
token = r_s.charAt(m);
target_c = target.charAt(0);
if(token == target_c) {
System.out.println("일치합니다. token = " + token + ", target_c = " + target_c);
answer += 1;
}
}
}
return answer;
}
public static void main(String[] args) {
int i = 1;
int j = 13;
int k = 1;
System.out.println(solution(i, j, k));
}
}
실행과정을 보기 위해서 print문을 통해 중간점검을 해보기도하였다. 변수명이 헷갈릴 수 있어 좀 더 직관적인 자료형 표기법을 사용해야겠다고 생각했다.
문제링크)
https://school.programmers.co.kr/learn/courses/30/lessons/120887
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'Algorithms > 프로그래머스' 카테고리의 다른 글
[프로그래머스] '숨어있는 숫자의 덧셈 (1)' - Java (0) | 2023.05.10 |
---|---|
[프로그래머스] '문자열 정렬하기 (1)' - Java (0) | 2023.05.09 |
[프로그래머스] '최댓값 만들기 (1)' - Java (0) | 2023.05.03 |
[프로그래머스] '모음 제거' - Java (0) | 2023.05.03 |
[프로그래머스] '약수 구하기' - Java (1) | 2023.05.02 |
<문제 제시>
<문제설명>
1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때,
i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.

<예시 입출력>

<문제 해결 과정>
입력받은 범위에서 타겟 Number를 조사하는 문제이다.
일반적인 정수형으로 처리하기보다 Integer.toString을 통해 String형으로 바꾸고, char 자료형으로
target에 해당하는 "문자"를 찾고자 하였다.
String r_s = "";
String target = Integer.toString(k);
char token;
char target_c;
token = r_s.charAt(m);
target_c = target.charAt(0);
입력받은 k값을 String target 변수에 Integer.toString(k)을 통해 저장하고,
i부터 j까지 for문을 반복시키면서
반복문의 반복자(r) 를 Integer.toString(r) 을 통해 r_s 변수에 저장해준 후
그 값 인덱스 별로 charAt()을 통해 token으로 저장한다.
token과 target_c을 비교하여 answer에 횟수를 누적시킨다.
<전체코드>
public class number_k {
public static int solution(int i, int j, int k) {
int answer = 0;
String r_s = "";
String target = Integer.toString(k);
char token;
char target_c;
for(int r = i; r <= j; r++) {
r_s = Integer.toString(r);
for(int m = 0; m < r_s.length(); m++) {
token = r_s.charAt(m);
target_c = target.charAt(0);
if(token == target_c) {
System.out.println("일치합니다. token = " + token + ", target_c = " + target_c);
answer += 1;
}
}
}
return answer;
}
public static void main(String[] args) {
int i = 1;
int j = 13;
int k = 1;
System.out.println(solution(i, j, k));
}
}
실행과정을 보기 위해서 print문을 통해 중간점검을 해보기도하였다. 변수명이 헷갈릴 수 있어 좀 더 직관적인 자료형 표기법을 사용해야겠다고 생각했다.
문제링크)
https://school.programmers.co.kr/learn/courses/30/lessons/120887
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'Algorithms > 프로그래머스' 카테고리의 다른 글
[프로그래머스] '숨어있는 숫자의 덧셈 (1)' - Java (0) | 2023.05.10 |
---|---|
[프로그래머스] '문자열 정렬하기 (1)' - Java (0) | 2023.05.09 |
[프로그래머스] '최댓값 만들기 (1)' - Java (0) | 2023.05.03 |
[프로그래머스] '모음 제거' - Java (0) | 2023.05.03 |
[프로그래머스] '약수 구하기' - Java (1) | 2023.05.02 |