문제설명
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 |