상세 컨텐츠

본문 제목

Java 6.리스트에 홀수 여부 확인 (코딩테스트, 면접문제)

학습/Java 코딩테스트 예제

by husks 2023. 2. 15. 12:03

본문

반응형

Java에서 정수 목록에 홀수만 포함되어 있는지 확인하려면 목록을 반복하고 모듈로 연산자를 사용하여 각 요소가 홀수인지 확인할 수 있습니다. 다음은 예입니다.

import java.util.ArrayList;
import java.util.List;

public class CheckOddNumbers {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(5);
        
        boolean allOdd = true;
        for (int number : numbers) {
            if (number % 2 == 0) {
                allOdd = false;
                break;
            }
        }
        
        if (allOdd) {
            System.out.println("The list contains only odd numbers.");
        } else {
            System.out.println("The list contains at least one even number.");
        }
    }
}

이 예제에서는 정수 목록을 정의하고 for-each 루프를 사용하여 각 요소를 반복합니다.

 

각 요소에 대해 기준을 2로 취하여 짝수인지 확인합니다.

 

결과가 0이면 숫자가 짝수이므로 allOdd 플래그를 false로 설정하고 루프를 종료합니다.

 

루프 후에 allOdd 플래그를 확인합니다.

 

여전히 참이면 모든 요소가 홀수이므로 목록에 홀수만 포함되어 있다는 메시지를 인쇄합니다.

 

플래그가 거짓이면 목록에 적어도 하나의 짝수가 포함되어 있다는 메시지를 인쇄합니다.

 

 

스트림과 allMatch() 메서드를 사용하여 동일한 결과를 보다 간결하게 얻을 수 있습니다.

import java.util.ArrayList;
import java.util.List;

public class CheckOddNumbers {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(5);
        
        boolean allOdd = numbers.stream().allMatch(n -> n % 2 != 0);
        
        if (allOdd) {
            System.out.println("The list contains only odd numbers.");
        } else {
            System.out.println("The list contains at least one even number.");
        }
    }
}

여기에서 Stream 인터페이스의 allMatch() 메서드를 사용하여 목록의 모든 요소가 주어진 술어를 충족하는지 확인합니다. 

 

즉, 기준 2는 0이 아닙니다.

 

이 방법은 모든 요소가 조건자를 충족하면 true를 반환하고 false를 반환합니다.

반응형

관련글 더보기

댓글 영역