56. 콘솔에서 한 개의 정수를 입력받고, 비트 단위로 반전시켜 정수로 출력하라.

입력 범위 : -2147483648 ~ 2147483647

입력 예시:

2

출력 예시:

-3

JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
	    int value0 = scan.nextInt();
		scan.close();
		
		System.out.println(~value0);
	}
}

 

 

 

Swfit

 

import Foundation

let line = readLine()
if line != nil {
    if let value = Int(line!) {
        print(~value)
    }
}

 

연산자를 또 정의하고 해야하나했는데 ~ 연산이 되네요.

이번 문제는 아마도 값의 표현에 대한 방법을 알려주기 위한 문제같습니다

양수의 표현에대한 문제가없지만 음수에 표현에대한 문제를 해결하기위해

어떤 방법을 취하고있는가를 보여주는 문제였습니다.

더 자세히 알고싶으신 분은 "2의 보수" 라는 키워드로 검색하시거나

컴퓨터가 뺄셈을하는 방법에 대해 검색하시면 될것같아요.

점차 다시 일이 생기기 시작해서 이거 100번까지 갈 수 있을지 모르게됬습니다

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

 

 

55. 콘솔에서 두 개의 정수를 입력받아, 두 값 모두 0 일때만 1을 그외엔 0을 출력하게 하라.

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

입력 범위: 0~1

입력 예시

0 1

출력 예시

0

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(nor(value0,value1)));
	}
	static boolean nor(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 nor(_ 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", nor(intToBool(value0), intToBool(value1))))
        }
    }
}

 

저번 소스랑 조건만 살짝 다릅니다.

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

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

53. 콘솔에서 두 개의 정수(a,b)가 입력될때, a 와 b가 다를때 둘 중하나가 1일때만 1을 그외엔 0 을 출력하라.

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

입력 범위: 0 ~ 1

입력 예시

1 1

출력 예시

0

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(xor(value0,value1)));
	}
	static boolean xor(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 xor(_ 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", xor(intToBool(value0), intToBool(value1))))
        }
    }
}

 

이전 소스에서 xor이 추가됐을뿐...

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

52. 콘솔에서 두 정수가 입력될때 둘 중 하나라도 1이 있으면 1을 둘다 0이면 0을 출력하라.

입력 : 1Line 으로 두 정수가 공백을 두고 입력됨

입력 범위 : 0 ~ 1

입력 예시

1 0

출력 예시

1

Java

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		Boolean targetValue = intToBool(scan.nextInt()) || intToBool(scan.nextInt());
		scan.close();
		System.out.println(boolToInt(targetValue));
	}
	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
}

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", intToBool(value0) || intToBool(value1)))
        }
    }
}

이전 소스에서 부호만 변경했습니다.

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

 

 

51. 콘솔에서 두 정수가 입력될때 두 가지가 모두 1 일경우 1을 그외엔 0 을 출력해봐라.

입력 : 1Line 으로 두 정수가 공백을 두고 입력됨

입력 범위 : 0 ~ 1

입력 예시

1 1

출력 예시

1

JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		Boolean targetValue = intToBool(scan.nextInt()) && intToBool(scan.nextInt());
		scan.close();
		System.out.println(boolToInt(targetValue));
	}
	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
}

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", intToBool(value0) && intToBool(value1)))
        }
    }
}

 

점차 왜 이렇게 짜고있을까 생각이들고있네요

c 기반으로 문법익히라고 만든 문제라 그런가 제 나름대로 이런걸 의도하고 했을꺼야! 라고 해석해서

의도 대로 최대한 비슷하게 만들어보고있는데

평소 심플이즈베스트를 외치고있어서 보기에 불편합니다.

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

 

 

옛날에 블로그에서 옴기던일을 다시 서서히 해보려합니다. 이왕 끝내놓은거 남겨두기 아까워서...

 

 

 

 

50. 콘솔에서 1 또는 0이 입력되었을때 반대로 출력하라

입력: 정수 1개가 입력됨

입력 범위 : 0 ~ 1

입력 예시

1

출력 예시

0

Java

import java.util.Scanner;

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

Swift 4.2

import Foundation

func intToBool(value:Int) -> Bool {
    return value > -1 ? (value == 0 ? false : true ): false
}

let line = readLine()
if line != nil {
    if let value = Int(line!) {
        print(String.init(format: "%d", !intToBool(value: value)))
    }
}

굳이 3항연산자를 써서 만들어봤습니다.

막상 해놓고 보니 별로 안이쁘네요

의미없는 짓이였습니다.

이번문제는 기초 100제의 반절인 50번문제가되는 기념비적인 문제라 예쁘게 해보고싶었는데 잘안되네요

C에서는 0이면 거짓 그외 양수면 참으로 인식해서 두줄이면 완료가될거같네요

아, 정수형변수를 바로 불형으로 바꿔 출력하는 연산자를 정의해주는게 더 예뻣을라나요?..

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

 

 

47. 콘솔에서 두 정수(a,b)를 입력 받아 a와b가 같으면 1, 같지않으면 0 을 출력하라.

입력 : 1Line 으로 a,b가 공백을 두고 입력된다.

입력 범위 : -2147483648 ~ 2147483647

입력 예시

9 1

출력 예시

0

 

JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int flagValue = scan.nextInt();
		if(flagValue== scan.nextInt()) {
			System.out.println(1);
		} else {
			System.out.println(0);
		}
        scan.close();
	}
}

 

Swift 4.2

import Foundation

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

 

 

이전 문제에서 부호만 바꾸었습니다.

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

 

[기초-비교연산] 두 정수 입력받아 비교하기2(설명)

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용 ��

codeup.kr

 

 

 

 

 

48. 콘솔에서 두 정수(a,b)를 입력 받아 b가 a보다 크거나 같으면1, b가 a보다 작으면 0을 추렭하라

입력 : 1Line 으로 a,b가 공백을 두고 입력된다.

입력 범위 : -2147483648 ~ 2147483647

입력 예시

0 -1

출력 예시

0

 

JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int flagValue = scan.nextInt();
		if(flagValue <= scan.nextInt()) {
			System.out.println(1);
		} else {
			System.out.println(0);
		}
        scan.close();
	}
}

 

 

Swift 4.2

import Foundation

let line = readLine()
if line != nil {
    let split = line!.split(separator: " ")
    if split.count == 2, let a = Int(split[0]), let b = Int(split[1]) {
        print(String.init(format: "%d", (a<=b)))
    }
}

 

 

 

이전 문제의 소스에서 부호만 변경했습니다.

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

 

[기초-비교연산] 두 정수 입력받아 비교하기3(설명)

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용 ��

codeup.kr

 

 

 

 

 

 

 

 

49. 콘솔에서 두 정수(a,b)를 입력 받아 두 값이 다르면 1 같으면 0을 출력하라.

입력 : 1Line 으로 a,b가 공백을 두고 입력된다.

입력 범위 : -2147483648 ~ 2147483647

입력 예시

0 1

출력 예시

1

 

Java

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int flagValue = scan.nextInt();
		if(flagValue != scan.nextInt()) {
			System.out.println(1);
		} else {
			System.out.println(0);
		}
        scan.close();
	}
}

 

 

Swift 4.2

import Foundation

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

 

 

 

 

이전 문제에서 부호만 변경했습니다.

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

 

[기초-비교연산] 두 정수 입력받아 비교하기4(설명)

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용 ��

codeup.kr

 

 

+ Recent posts