1055 : [기초-논리연산] 하나라도 참이면 참 출력하기
두 개의 참(1) 또는 거짓(0)이 입력될 때,
하나라도 참이면 참을 출력하는 프로그램을 작성해보자.
참고
논리연산자 || 는 주어진 2개의 논리값 중에 하나라도 참(1) 이면 1(참)로 계산하고,
그 외의 경우에는 0(거짓) 으로 계산한다.
** | 기호는 쉬프트를 누른 상태에서 백슬래시(\)를 누르면 나오는 기호로,
버티컬 바(vertical bar) 기호이다.
이러한 논리연산을 OR 연산이라고도 부르고,
+ 로 표시하며, 집합 기호로는 ∪(합집합, union)을 사용한다. 모두 같은 의미이다.
참, 거짓의 논리값(boolean value)인 불 값을 다루어주는 논리연산자는
!(not), &&(and), ||(or) 이 있다.
** 불 대수(boolean algebra)는 수학자 불이 만들어낸 것으로
참/거짓만 가지는 논리값과 그 연산을 다룬다.
예시
printf("%d", 0||0); //둘 다 거짓을 의미하므로 0이 계산되어 출력된다.
입력
1 또는 0의 값만 가지는 2개의 정수가 공백을 두고 입력된다.
출력
하나라도 참일 경우 1을 출력하고, 그 외의 경우에는 0을 출력한다.
입력 예시
1 1
출력 예시
1
1과 0이 입력될 때 하나라도 참(1)이면 참(1)을 출력하는 프로그램을 작성해야한다.
하나라도 참일 때 참인 명제를 출력하려면 논리연산자(||)을 사용해야한다.
자바에서는 1과 0을 참과 거짓이라고 판단하지 않으므로 정수형이나 문자로 생각해서 작성하면된다.
package excercise;
import java.util.*;
public class codeup {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String num = sc.nextLine();
String[] numArr = num.split(" ");
int firstNum = Integer.parseInt(numArr[0]);
int secondNum = Integer.parseInt(numArr[1]);
if(firstNum == 1 || secondNum == 1) System.out.println(1);
else System.out.println(0);
}
}
2개의 정수가 공백을 두고 입력된다면 공백을 기준으로 split함수를 사용하여 배열에 저장한다.
그리고 정수형으로 바꿔서 비교연산자(==)를 사용하여 참과 거짓을 구분한다.
'코드업(CodeUp) > 기초 100제' 카테고리의 다른 글
[코드업/자바] 기초 100제 - 참/거짓이 서로 같을 때에만 참 출력하기 (0) | 2021.01.29 |
---|---|
[코드업/자바] 기초 100제 - 참/거짓이 서로 다를 때에만 참 출력하기 (0) | 2021.01.29 |
[코드업/자바] 기초 100제 - 둘 다 참일 경우만 참 출력하기 (0) | 2021.01.28 |
[코드업/자바] 기초 100제 - 참 거짓 바꾸기 (0) | 2021.01.28 |
[코드업/자바] 기초 100제 - 두 정수 입력받아 비교하기4 (0) | 2021.01.28 |