JAVA/프로그래머스 코딩 기초 트레이닝

[프로그래머스, LV.0] 간단한 논리 연산

sundori 2023. 5. 21. 00:54

목차

     

    #1 간단한 논리 연산자

    문제 설명

    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로 식을 계산하면 다음과 같습니다. 따라서 true를 return 합니다.
    • (x1 ∨ x2) ∧ (x3 ∨ x4) ≡ (F ∨ T) ∧ (T ∨ T) ≡ T ∧ T ≡ T

    입출력 예 #2

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

    #2 코드 및 알고리즘

    class Solution {
        public boolean solution(boolean x1, boolean x2, boolean x3, boolean x4) {
            if((x1 == true || x2 == true) && (x3 == true || x4 == true)){
                 return true;
             } else {
                 return false;
             }
        }
    }
    -----------------------------------------------------------------------------
    class Solution {
        public boolean solution(boolean x1, boolean x2, boolean x3, boolean x4) {
            return (x1||x2)&&(x3||x4);
        }
    }

    퓰이:

    • 쉽게 말해서 AND 게이트와 OR 게이트를 보면 된다.
    • | 와 &은 비트 연산자이다.
      1 | 0 , 0 | 1 -> 비트 비교 시 하나라도 1이라면 1인 OR 게이트(OR 연산)를 생각하면 되며
      1&0, 1 &1 -> 무조건 두 비트 모두 1이어야만 1인 AND 게이트(AND 연산)를 사용한다.
    • 논리 연산자 ||, &&
      OR 연산인 ||은 위의 코드를 예제로 보면
    • true || false -> true,   false || false -> false 하나라도 true라면 true를 반환.
      AND 연산인 &&은 true && true -> true, true && false -> false 무조건 둘 다 true여야지 true를 반환.
    AND 연산(게이트)   OR 연산(게이트)
    X Y Z X Y Z
    0 0 0 0 0 0
    0 1 0 0 1 1
    1 0 0 1 0 1
    1 1 1 1 1 1

     

    728x90