문제 설명
정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
제한사항
0 < num < 1,000,000
0 ≤ k < 10
num에 k가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다.
입출력 예
num k result
29183 1 3
232443 4 4
123456 7 -1
import java.util.stream.IntStream;
class Solution {
public int solution(int num, int k) {
int answer = 0;
String numStr = String.valueOf(num);
answer = IntStream.range(0, numStr.length())
.filter(i -> numStr.charAt(i) == Character.forDigit(k, 10))
.findFirst()
.orElse(-1);
return answer == -1 ? -1 : answer + 1;
}
}
모르겠는 부분이 있어서 gpt 도움을 받음.
다른 사람의 코드 중
class Solution {
public int solution(int num, int k) {
return ("-" + num).indexOf(String.valueOf(k));
}
}
이건 ㅋㅋ 보고 이해한 것만으로도 만족한다.
저 정도의 응용력은 '짬'에서 오는 걸까, '지능'에서 오는 걸까, '창의성'에서 오는 걸까?
'코딩테스트 연습' 카테고리의 다른 글
피자 나눠 먹기 (2) (0) | 2024.04.18 |
---|---|
문자열 정렬하기 (2) (0) | 2024.04.18 |
간단한 논리 연산 (0) | 2024.04.18 |
배열 만들기 4 (0) | 2024.04.18 |
배열 만들기 2 (0) | 2024.04.18 |