티스토리 뷰

  • 문제 설명

    정수 리스트 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;
    }
}
  1. anyMatch(num -> num == n) 은 num_list 안의 원소를 순회하며
    최소 한 개의 num이라도 n과 같은 조건을 만족하는지 조사한다.
  2. 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
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함