54. 콘솔에서 두 개의 정수가 입력될때 두 값이 서로 같을때만 1이 출력되게하라.

입력 : 1line 으로 두 개의 정수가 공백을 두고 입력된다.

입력 범위 : 0 ~ 1

입력 예시

0 0

출력 예시

1 1

java

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
	    Boolean value0 = intToBool(scan.nextInt());
	    Boolean value1 = intToBool(scan.nextInt());
		scan.close();
		
		System.out.println(boolToInt(xnor(value0,value1)));
	}
	static boolean xnor(boolean value0, boolean value1 ) {
		return value0 == value1 ? true : false;
	}
	static boolean intToBool(int value) {
		return (value > -1) ? ((value == 0) ? false : true) : false;
	}
	static int boolToInt(boolean value) {
		return value ? 1 : 0;
	}
}

 

Swift 4.2

import Foundation

func intToBool(_ value:Int) -> Bool {
    return value > -1 ? (value == 0 ? false : true ): false
}
func xnor(_ value0:Bool,_ value1:Bool) -> Bool {
    return value0 == value1 ? true : false
}

let line = readLine()
if line != nil {
    let values = line!.split(separator: " ")
    if values.count == 2 {
        if let value0 = Int(values[0]), let value1 = Int(values[1]) {
            print(String.init(format: "%d", xnor(intToBool(value0), intToBool(value1))))
        }
    }
}

 

이전 소스에서 부호만 바뀌었습니다.

원래 문제가

"두 가지의 참 또는 거짓이 입력될 때, 참/거짓이 서로 같을 때에만 참이 계산되는 프로그램을 작성해보자!"

인데

짧게 핵심만 풀어 쓰다보니 코드가 참 쓸때없이 논리연산과정을 추가했다고 보이게 되네요.. ㅎㅎ

https://codeup.kr/problem.php?id=1057

+ Recent posts