본문 바로가기
코딩테스트 연습

숫자 찾기

by 신재은👩🏼‍💻 2024. 4. 18.

문제 설명
정수 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