개발자가 되

프로그래머스 Lv.0

Lv.0 간단한 논리 연산

dltjdud 2025. 2. 2. 23:41

문제설명

boolean 변수 x1, x2, x3, x4가 매개변수로 주어질 때, 다음의 식의 true/false를 return 하는 solution 함수를 작성해 주세요.

  • (x1 ∨ x2) ∧ (x3 ∨ x4)

입출력 

x1 x2 x3 x4 result
false true true true true
true false false false false

 

입출력 예 설명

입출력 예 #1
예제 1번의 x1, x2, x3, x4로 식을 계산하면 다음과 같습니다.
(x1 ∨ x2) ∧ (x3 ∨ x4) ≡ (F ∨ T) ∧ (T ∨ T) ≡ T ∧ T ≡ T
따라서 true를 return 합니다.

입출력 예 #2
예제 2번의 x1, x2, x3, x4로 식을 계산하면 다음과 같습니다.
(x1 ∨ x2) ∧ (x3 ∨ x4) ≡ (T ∨ F) ∧ (F ∨ F) ≡ T ∧ F ≡ F
따라서 false를 return 합니다.

 

* ∨과 ∧의 진리표는 다음과 같습니다.

x y x ∨ y x ∧ y
T T T T
T F T F
F T T F
  F F F

 

풀이

 

JAVA

class Solution {
    public boolean solution(boolean x1, boolean x2, boolean x3, boolean x4) {
        boolean answer = ((x1 || x2) && (x3 || x4));   
        return answer;
    }
}

*다른 코드

class Solution {
    public boolean solution(boolean x1, boolean x2, boolean x3, boolean x4) {
        boolean answer = false;

        int t = 0;
        int f = 0;

        boolean[] isit = {x1, x2, x3, x4};

        for(int i = 0; i < isit.length; i += 2){
            boolean current = isit[i];
            boolean next = isit[i + 1];


            if(current || next){
                t ++;
            }
            else if(!current && !next){
                f ++;
            }
        }
        //System.out.println(t + " " + f);

        if(t > f) return true;

        return answer;
    }
}

 

Python

def solution(x1, x2, x3, x4):
    return (x1 or x2) and (x3 or x4)

*다른 코드

def solution(x1, x2, x3, x4):
    return (x1 | x2) & (x3 | x4)

 

JS

function solution(x1, x2, x3, x4) {
    return (x1||x2) && (x3||x4)
}

'프로그래머스 Lv.0' 카테고리의 다른 글

Lv.0 글자 이어 붙여 문자열 만들기  (0) 2025.02.03
Lv.0 주사위 게임 3  (0) 2025.02.03
Lv.0 배열 만들기 4  (0) 2025.02.02
Lv.0 콜라츠 수열 만들기  (0) 2025.02.01
Lv.0 카운트 업  (0) 2025.02.01