티스토리 뷰
- 문제 설명
정수 리스트 num_list와 찾으려는 정수 n이 주어질 때, num_list안에 n이 있으면 1을 없으면 0을 return하도록 solution 함수를 완성해주세요.
- 제한사항
3 ≤ num_list의 길이 ≤ 100
1 ≤ num_list의 원소 ≤ 100
1 ≤ n ≤ 100
- 입출력 예
- 입출력 예 설명
입출력 예 #1
[1, 2, 3, 4, 5] 안에 3이 있으므로 1을 return합니다.
입출력 예 #2
[15, 98, 23, 2, 15] 안에 20이 없으므로 0을 return합니다.
🤔 아쉽군..
class Solution {
public int solution(int[] num_list, int n) {
int answer = 0;
for(int i = 0; i < num_list.length; i++){
if(num_list[i] == n){
answer = 1;
break;
} else {
answer = 0;
}
}
return answer;
}
}
⬇️
🤔 정돈된 더 좋은 코드!
public class Problem181840 {
// Stream API <- matching 메소드
// allMatch(): 모든 요소가 주어진 조건을 만족하는지 조사
// anyMatch(): 최소 한 개의 요소가 주어진 조건을 만족하는지 조사
// noneMatch(): 모든 요소가 주어진 조건을 만족하지 않는지 조사
public int solution(int[] num_list, int n) {
if(Arrays.stream(num_list).anyMatch(num -> num == n)) return 1;
return 0;
}
}
- anyMatch(num -> num == n) 은 num_list 안의 원소를 순회하며
최소 한 개의 num이라도 n과 같은 조건을 만족하는지 조사한다. - Stream API의 matching 메소드는 boolean 값을 반환한다.
🤔 if문 대신 삼항 연산자도 넣어봤다.
import java.util.Arrays;
class Solution {
public int solution(int[] num_list, int n) {
return Arrays.stream(num_list).anyMatch(num -> num == n) ? 1 : 0;
}
}
'알고리즘 공부⛏️' 카테고리의 다른 글
💡(Java)수 조작하기 2 (1) | 2025.01.21 |
---|---|
💡(Java)배열의 원소만큼 추가하기 (0) | 2025.01.20 |
💡(Java)K번째수 (0) | 2025.01.17 |
💡(Java)0 떼기 (0) | 2025.01.16 |
💡(Java)할 일 목록 (0) | 2025.01.13 |
댓글