본문 바로가기

코드업(CodeUp)/기초 100제

[코드업/자바] 기초 100제 - 둘 다 참일 경우만 참 출력하기

1054 : [기초-논리연산] 둘 다 참일 경우만 참 출력하기

두 개의 참(1) 또는 거짓(0)이 입력될 때,
모두 참일 때에만 참을 출력하는 프로그램을 작성해보자.


참고
논리연산자 && 는 주어진 2개의 논리값이 모두 참(1) 일 때에만 1(참)로 계산하고,
그 외의 경우에는 0(거짓) 으로 계산한다.

이러한 논리연산을 AND 연산이라고도 부르고, · 으로 표시하거나 생략하며,
집합 기호로는 ∩(교집합, intersection)을 의미한다. 모두 같은 의미이다.

참, 거짓의 논리값(boolean value)인 불 값을 다루어주는 논리연산자는
!(not), &&(and), ||(or) 이 있다.

** 불 대수(boolean algebra)는 수학자 불이 만들어낸 것으로
참/거짓만 가지는 논리값과 그 연산을 다룬다.

예시
printf("%d", 1&&1); //둘 다 참을 의미하므로 1로 계산되어 출력된다.

 

입력

1 또는 0의 값만 가지는 2개의 정수가 공백을 두고 입력된다.

출력

둘 다 참(1)일 경우에만 1을 출력하고, 그 외의 경우에는 0을 출력한다.


입력 예시

1 1

출력 예시

1


공백을 두고 정수 2개가 입력되면 split함수로 공백을 기준으로 2개의 정수를 배열로 저장한다.

그리고 배열에 저장된 정수를 정수형(int)으로 바꿔서 논리연산자(&&)를 사용하여 비교한다.

 

논리연산자(&&)은 모든 조건이 참이어야 참이된다.

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);
	}
}

 

배열에 저장된 정수를 int형으로 바꾸서 비교연산자 ==(같다)를 사용해도 된다.

하지만 문자열로 비교하게 된다면 equals를 사용하여 비교해야한다.

 

728x90
반응형