[code-up] Python 기초 100제

qoqo_mi·2022년 5월 5일
post-thumbnail

6041. 정수 2개 입력받아 나눈 나머지 계산하기

✍🏻 입력: 2개의 정수(a, b)가 공백으로 구분되어 입력된다.

✍🏻 출력: a를 b로 나눈 나머지를 출력한다.


a,b = map(int,input().split())

print(a%b)

6042. 실수 1개 입력받아 소숫점이하 자리 변환하기

✍🏻 입력: 실수 1개가 입력된다.

✍🏻 출력: 소숫점 이하 두 번째 자리까지의 정확도로 반올림한 값을 출력한다.

a= float(input())

print(format(a,".2f"))

6043. 실수 2개 입력받아 나눈 결과 계산하기

✍🏻 입력: 2개의 실수(f1, f2)가 공백으로 구분되어 입력된다.

✍🏻 출력: f1을 f2로 나눈 결과를 소숫점 이하 넷째 자리에서 반올림하여 소숫점 세 번째 자리까지 출력한다.

a,b=map(float,input().split())

c=a/b
print(format(c,".3f"))

6044. 정수 2개 입력받아 자동 계산하기

✍🏻 입력: 정수 2개가 공백을 두고 입력된다.

a,b=map(int,input().split())


print(a+b)
print(a-b)
print(a*b)
print(a//b)
print(a%b)
print(format(a/b,".2f"))

6045. 정수 3개 입력받아 합과 평균 출력하기

✍🏻 입력: 정수 3개가 공백을 두고 입력된다.

✍🏻 출력: 합과 평균을 공백을 두고 출력한다. 평균은 소숫점 이하 셋째 자리에서 반올림하여 둘째 자리까지 출력한다.

a,b,c =map(int,input().split())

plus = a+b+c
avr = (a+b+c)/3
print(plus,format(avr,".2f"))

6046. 정수 1개 입력받아 2배 곱해 출력하기

✍🏻 입력: 정수 한 개가 입력된다. 단, -1073741824 ~ +1073741823

✍🏻 출력: 2배 곱한 정수를 출력한다.

a =int(input())

print(a<<1)

6047. 2의 거듭제곱 배로 곱해 출력하기

✍🏻 입력: 정수 2개(a, b)가 공백을 두고 입력된다.(0 <= a, b <= 10)

✍🏻 출력: a 를 2^b배 만큼 곱한 값을 출력한다.

a,b = map(int,input().split())

print(a<<b)

6048. 정수 2개 입력받아 비교하기1

✍🏻 입력: 두 정수(a, b)가 공백을 두고 입력된다. (-2147483648 <= a, b <= +2147483647)

✍🏻 출력: a가 b보다 작은 경우 True 를, 그렇지 않은 경우 False 를 출력한다.

a,b = map(int,input().split())

print(a<b)

6049. 정수 2개 입력받아 비교하기2

✍🏻 입력: 두 정수 a, b가 공백을 두고 입력된다.(-2147483648 <= a, b <= +2147483647)

✍🏻 출력: a와 b의 값이 같은 경우 True 를, 그렇지 않은 경우 False 를 출력한다.

a,b = map(int,input().split())

print(a==b)

6050. 정수 2개 입력받아 비교하기3

✍🏻 입력: 두 정수 a, b가 공백을 두고 입력된다.(-2147483648 <= a, b <= +2147483647)

✍🏻 출력: b가 a보다 크거나 같은 경우 True 를, 그렇지 않은 경우 False 를 출력한다.

a,b = map(int,input().split())

print(a<=b)

🔥 정리

나눗셈의 몫과 나머지

  1. 몫(/)

    a,b = map(int,input().split())
    
    print(a/b)
  2. 나머지(%)

    a,b = map(int,input().split())
    
    print(a%b)

소수점 자리수 지정(제한,조절)

  1. round

    round(실수,표시할 자리수)
  • round(실수,2) -> '실수를 소수 두번째 자리에서 반올림 하겠다.'
  • 만약 소수점 자리수를 지정하고 다시 수로서 계산을 할 목적이라면 round()사용
  1. format

    format(실수,".표시할자리수f")
  • format(실수,2f) -> '실수를 소수 두번째 자리까지 표기하겠다.'

비트단위 시프트연산자

  1. 비트연산자표
    | |비트연산자 | 설명 |
    |:---:|:---------:|:-------------------------:|
    |1|~|비트를 1로, 1이면 0으로 반전시킴.(비트 NOT 연산자)|
    |2|&|대응되는 비트가 모두 1이면 1을 반환함(비트 AND 연산자)|
    |3|||대응되는 비트 중에서도 하나라도 1이면 1을 반환함(비트 OR 연산자)|
    |4|^|대응되는 비트가 서로 다르면 1을 반환함.(비트 XOR 연산자)|
    |5|<<|지정한 수만큼 비트들을 전부 왼쪽으로 이동시킴(비트 left 연산자)|
    |6|>>|지정한 수만큼 비트들을 전부 오른쪽으로 이동시킴(비트 right 연산자)|

  2. 비트연산자로 곱셈하기

  • *2 를 계산한 값을 출력해도 되지만, 정수를 2배로 곱하거나 나누어 계산해 주는 비트단위시프트연산자 <<, >>를 이용할 수 있다.

  • 컴퓨터 내부에는 2진수 형태로 값들이 저장되기 때문에, 2진수 형태로 저장되어 있는 값들을 왼쪽(<<)이나 오른쪽(>>) 으로 지정한 비트 수만큼 밀어주면 2배씩 늘어나거나 1/2로 줄어든다.

  • 왼쪽 비트시프트(<<)가 될 때에는 오른쪽에 0이 주어진 개수만큼 추가되고, 오른쪽 비트시프트(>>)가 될 때에는 왼쪽에 0(0 또는 양의 정수인 경우)이나 1(음의 정수인 경우)이 개수만큼 추가되고, 가장 오른쪽에 있는 1비트는 사라진다.

  • 예시

    n = 10
    print(n<<1)  #10을 2배 한 값인 20 이 출력된다.
    print(n>>1)  #10을 반으로 나눈 값인 5 가 출력된다.
    print(n<<2)  #10을 4배 한 값인 40 이 출력된다.
    print(n>>2)  #10을 반으로 나눈 후 다시 반으로 나눈 값인 2 가 출력된다.
    
    정수 102진수 표현은 ... 1010 이다.
    10 << 1 을 계산하면 ... 10100 이 된다 이 값은 10진수로 20이다.
    10 >> 1 을 계산하면 ... 101 이 된다. 이 값은 10진수로 5이다.
  • n = 10 과 같이 키보드로 입력받지 않고 직접 작성해 넣은 코드에서, 숫자로 시작하는 단어(식별자, identifier)는 자동으로 수로 인식된다.

  1. 거듭제곱 만들기

    a=2
    b=10
    print(a<<b) //2^10 = 1024

비트/관계 연산자

  • 비교/관계연산자는 <, >, <=, >=, ==(같다), !=(다르다) 6개가 있다.
  • 비교/관계연산자도 일반적인 사칙연산자처럼 주어진 두 수를 이용해 계산을 수행한다.
  • 결과를 True(참), 또는 False(거짓)로 계산해 주는 연산자이다.

불리언값

  • True(참) 또는 False(거짓) 값으로만 표현하고 저장하는 값을 불(bool)/불리언(boolean) 값이라고 한다.
  • 정수, 실수, 문자, 문자열과 마찬가지로 또 다른 형태의 데이터형(data type)이다.

0개의 댓글