반응형
문제
풀이
num의 값들을 쪼개서 배열에 넣어준 뒤, 배열에서 k와 같은 index값을 return 해준다.
Stream.of(String.valueOf(num).split("")).mapToInt(Integer::parseInt).toArray();
자릿수 마다 쪼개서 int 배열에 넣기 위해서. num을 String형으로 바꾼 후 split을 통해 쪼개 넣고, 다시 int형 Array로 바꾸어 주었다.
IntStream.range(0, arr.length).filter(i -> k == arr[i]).findFirst().orElse(-1)
arr배열 범위 안에서 k와 같은 값의 index를 반환하도록 하였고, 같은 값이 없으면 -1이 나오도록 하였다.
코드
import java.util.stream.Stream;
import java.util.stream.IntStream;
//import java.util.*; 만 쓰게 되면 프로그래머스에서는 에러가 뜸.. (eclipse에선 정상작동 되었다)
class Solution {
public int solution(int num, int k) {
int answer = 0;
int[] arr = Stream.of(String.valueOf(num).split("")).mapToInt(Integer::parseInt).toArray();
answer = (IntStream.range(0, arr.length).filter(i -> k == arr[i]).findFirst().orElse(-1) + 1);
if(answer == 0){
answer = -1;
}
return answer;
}
}
반응형
'IT > 프로그래머스' 카테고리의 다른 글
[프로그래머스] OX퀴즈 - Java (0) | 2023.06.23 |
---|---|
[프로그래머스] 자릿수 더하기 - Java (0) | 2023.06.23 |
프로그래머스 가장 큰 수 찾기 - Java (0) | 2023.06.16 |
프로그래머스 약수 구하기 - Java (0) | 2023.06.14 |
프로그래머스 한 번만 등장한 문자 - Java (0) | 2023.06.14 |