-
[Java 자바] 프로그래머스 Lv 0 - 숫자 찾기Study/Java 2024. 11. 15. 12:06728x90반응형
목차
1. 문제 설명
728x90문제 설명
정수 num과 k가 매개변수로 주어질 때,
num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고
없으면 -1을 return 하도록 solution 함수를 완성해보세요.제한사항
- 0 < num < 1,000,000
- 0 ≤ k < 10
- num에 k가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다.
2. 입출력 예시
입출력 예시
#1
29183에서 1은 3번째에 있습니다.
#2
232443에서 4는 4번째에 처음 등장합니다.
#3123456에 7은 없으므로 -1을 return 합니다.
3. 문제 풀이
반응형문제 풀이
1. 조건문을 사용하기 위해 변수 temp를 만든다.
2. 반복문을 사용하여 num의 자릿수의 길이만큼 반복한다.
3. 조건문을 사용하여 temp를 10으로 나눈 나머지의 값이 k와 같은지 확인한다.
4. 참이라면, answer에 num의 자릿수에서 -i를 뺀 값을 넣는다.
5. 그 후 temp를 10으로 나누는 것을 반복한다.
6. 조건문을 사용하여 answer의 값이 없었다면 0이므로 answer에 값이 0이면 -1을 넣는다.
7. 최종 answer를 반환한다.
class Solution { public int solution(int num, int k) { int answer = 0; int temp = num; for(int i=0; i<Math.log10(num)+1; i++){ if(temp%10==k){ answer = (int)Math.log10(num)+1-i; } temp /= 10; } if(answer==0){ answer = -1; } return answer; } }
메모
int 형은 substring(), length(), charAt()을 사용하지 못하기 때문에, 자릿수로 계산해야한다.
728x90반응형'Study > Java' 카테고리의 다른 글
[Java 자바] 프로그래머스 Lv 0 - 자릿수 더하기 (0) 2024.11.17 [Java 자바] 프로그래머스 Lv 0 - n의 배수 고르기 (0) 2024.11.16 [Java 자바] 프로그래머스 Lv 0 - 배열의 유사도 (0) 2024.11.14 [Java 자바] 프로그래머스 Lv 0 - 문자열 계산하기 (0) 2024.11.13 [Java 자바] 프로그래머스 Lv 0 - 가장 큰 수 찾기 (1) 2024.11.12