본문 바로가기

CodeUp/Java

[CodeUp_JAVA] 1056 ~ 1060

문제 설명

두 가지의 참(1) 또는 거짓(0)이 입력될 때, 참/거짓이 서로 다를 때에만 참을 출력하는 프로그램을 작성해보자.

입력

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

출력

참/거짓이 서로 다를 때에만 1을 출력하고, 그 외의 경우에는 0을 출력한다.

내 풀이

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
        
		if((a == 1 && b == 0) || (a == 0 && b == 1)) {
			System.out.println(1);
		} else {
			System.out.println(0);
		}

	}
}

​​​

다른 풀이

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		System.out.println(a ^ b);

	}
}

 

 

 

문제 설명

두 개의 참(1) 또는 거짓(0)이 입력될 때, 참/거짓이 서로 같을 때에만 참이 계산되는 프로그램을 작성해보자.

입력

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

출력

참/거짓이 서로 같을 때에만 1을 출력하고, 그 외의 경우에는 0을 출력한다.

내 풀이

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
        
		if(a == b) {
			System.out.println(1);
		} else {
			System.out.println(0);
		}

	}
}

 

 

문제 설명

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

입력

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

출력

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

내 풀이

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
        
		if(a == 0 && b == 0) {
			System.out.println(1);
		} else {
			System.out.println(0);
		}

	}
}

 

 

문제 설명

입력 된 정수를 비트단위로 참/거짓을 바꾼 후 정수로 출력해보자.

입력

정수 1개가 입력된다.
-2147483648 ~ +2147483647

출력

비트 단위로 1 -> 0, 0 -> 1로 바꾼 후 그 값을 10진수로 출력한다.

내 풀이

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		System.out.println(~a);

	}
}

 

비트단위(bitwise)연산자 ~ 를 사용한다.


 

 

문제 설명

입력된 정수 두 개를 비트단위로 and 연산한 후 그 결과를 정수로 출력해보자.

 

입력

2개의 정수가 공백을 두고 입력된다.
-2147483648 ~ +2147483647

출력

두 정수를 비트단위(bitwise)로 and 계산을 수행한 결과를 10진수로 출력한다.

내 풀이

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		System.out.println(a & b);

	}
}

 

 

비트단위(bitwise)연산자 &를 사용한다.


 

 

'CodeUp > Java' 카테고리의 다른 글

[CodeUp_JAVA] 1066 ~ 1070  (0) 2022.01.16
[CodeUp_JAVA] 1061 ~ 1065  (0) 2022.01.14
[CodeUp_JAVA] 1051 ~ 1055  (0) 2022.01.10
[CodeUp_JAVA] 1046 ~ 1050  (0) 2022.01.09
[CodeUp_JAVA] 1041 ~ 1045  (0) 2022.01.08