Programmers/코딩 기초 트레이닝

[프로그래머스] 간단한 논리 연산

jjam-mo 2024. 2. 19. 11:29

 

∨이게 or 이고 ∧이게 and이더라..정해진 건가? 아니면 진리표를 보고 아는 것인가?

 

 

이 표를 보고 or 인지 and 인지 아는 것 같다.

 

애초에 or 인지 and 인지도 모르고 ∨, ∧ 기호를 사용했는데 이렇게 하면 안되더라 ㅋㅋㅋㅋㅋ

 

진리표 대로 일일이 변수를 설정하고 문제를 대입했다....

 

<내가 쓴 코드>

def solution(x1, x2, x3, x4):
    answer = True
    True or True == True			#여기서 부터~~
    True and True == True
    True or False == True
    True and False == False
    False or True == True
    False and True == False
    False or False == False
    False and False == False		#여기까지 작성할 필요가 없었다...ㅠㅠ
    answer = (x1 or x2) and (x3 or x4)
    return answer

 

이렇게 해야 하는 줄 알았다..그래서 제목은 간단한 논리 연산인데 전혀 간단하지 않아서 의문이였다 ㅋㅋㅋ

 

그러나 다른 사람의 풀이를 보고는 간단하다는 것을 느꼈다.

 

내가 진리표에 있는 것을 쓸 필요가 없다는 것을 알았다. 그냥 상식으로 알아야하는 것이었다.

 

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)

 

| 와 &를 사용한 사람이 있다. | 가 or 이고, &가 and인 것을 알았다!!!

 

나중에 이러한 논리 연산이 나오면 꼭 사용해보자!