Programming Language/문제

6041 ~ 6050 코드업 기초 100제 (py)

장영현 2023. 6. 21. 01:05
728x90

6041 : [기초-산술연산] 정수 2개 입력받아 나눈 나머지 계산하기(설명)(py)

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

6042 : [기초-값변환] 실수 1개 입력받아 소숫점이하 자리 변환하기(설명)(py)

a = float(input())
print(format(a,".2f"))
"""
format(수, ".2f") 를 사용하면 원하는 자리까지의 정확도로 반올림 된 실수 값을 만들어 준다. 

여기서 만들어진 값은 소수점 아래 3번째 자리에서 반올림한 값이다.

컴퓨터 프로그래밍에서 실수 변환이나 실수를 사용하는 계산은
정확하게 변환되거나 계산되는 것이 아니라, 거의 모두 근사값으로 계산되는 것이라고 할 수 있다. 

실수가 컴퓨터로 저장되기 위해서는 디지털방식으로 2진 정수화되어 저장되어야 하는데,
그 과정에서 아주 작은 부분이 저장되지 않고 사라지는 잘림(truncation) 오차가 자주 발생하기 때문이다.
"""

6043 : [기초-산술연산] 실수 2개 입력받아 나눈 결과 계산하기(py)

f1,f2 = input().split()
f3 = float(f1) / float(f2)
print(format(f3,".3f"))
"""
python 언어에는 나눗셈(division)을 계산하는 연산자(/)가 있다.

컴퓨터 프로그래밍에서 실수 변환이나 실수를 사용하는 계산은 
정확하게 변환되거나 계산되는 것이 아니라, 거의 모두 근사값으로 계산되는 것이라고 할 수 있다.  

실수가 컴퓨터로 저장되기 위해서는 디지털방식으로 2진 정수화되어 저장되어야 하는데, 
그 과정에서 아주 작은 부분이 저장되지 않고 사라지는 잘림(truncation) 오차가 자주 발생하기 때문이다.

계산 결과값 중에서 믿을 수 있는 숫자의 개수를 의미하는, 유효숫자에 대해 찾아보자. 
과학실험에서 온도나 부피를 측정할 때에도 유효숫자는 중요하다. 
"""

6044 : [기초-산술연산] 정수 2개 입력받아 자동 계산하기(py)

a,b = input().split()
print(int(a) + int(b))
print(int(a) - int(b))
print(int(a) * int(b))
print(int(a) // int(b))
print(int(a) % int(b))
print(format(float(a) / float(b),".2f"))

6045 : [기초-산술연산] 정수 3개 입력받아 합과 평균 출력하기(설명)(py)

a,b,c = input().split()
sum = int(a)+int(b)+int(c)
avg = sum / 3
print(sum, format(avg , ".2f"))
"""
공백으로 구분된 한 줄로 값들을 입력받기 위해서는
a, b, c = input().split()
과 같은 방법이 가능하고,

공백으로 구분해 두 값을 출력하기 위해서는
print(d, e)
와 같은 방법이 가능하다.

잘라낸 값들은 그 값의 특성(정수, 실수, 문자, 문자열 ...)에 따라 명확하게 변환시킨 후 사용하는 것이 좋다.

python 프로그래밍을 처음 배울 때 좋은 습관(단계)
1. 입력된 문자열을 정확하게 잘라낸다.(공백, 줄바꿈, 구분문자 등에 따라 정확하게 잘라낸다.)
2. 잘라낸 데이터들을 데이터형에 맞게 변환해 변수에 저장한다. (정수, 실수, 문자, 문자열 등에 따라 정확하게 변환한다.)
3. 값을 저장했다가 다시 사용하기 위해, 변수를 이용해 값을 저장하고, 변수를 이용해 계산을 한다.
4. 원하는 결과 값을 필요한 형태로 만들어 출력한다.(공백, 줄바꿈, 구분자, 등에 따라 원하는 형태로 만들어 출력한다.)
"""

6046 : [기초-비트시프트연산] 정수 1개 입력받아 2배 곱해 출력하기(설명)(py)

a = int(input())
print(a<<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 가 출력된다.

정수 10의 2진수 표현은 ... 1010 이다.
10 << 1 을 계산하면 ... 10100 이 된다 이 값은 10진수로 20이다.
10 >> 1 을 계산하면 ... 101 이 된다. 이 값은 10진수로 5이다.

n = 10 과 같이 키보드로 입력받지 않고 직접 작성해 넣은 코드에서, 숫자로 시작하는 단어(식별자, identifier)는 자동으로 수로 인식된다.  

n = 10 에서 10 은 10진수 정수 값으로 인식된다.
변수 n 에 문자열을 저장하고 싶다면, n = "10" 또는 n = '10'으로 작성해 넣으면 되고,

n = 10.0 으로 작성해 넣으면 자동으로 실수 값으로 저장된다.
n = 0o10 으로 작성해 넣으면 8진수(octal) 10으로 인식되어 10진수 8값이 저장되고,
n = 0xf 나 n = 0XF 으로 작성해 넣으면 16진수(hexadecimal) F로 인식되어 10진수 15값으로 저장된다.

** python에서 실수 값에 대한 비트시프트 연산은 허용되지 않고 오류가 발생한다.
(실수 값도 컴퓨터 내부적으로는 2진수 형태로 저장되고 비트시프트 처리가 될 수 있지만, python 에서는 허용하지 않는다.)
"""

6047 : [기초-비트시프트연산] 2의 거듭제곱 배로 곱해 출력하기(설명)(py)

a,b = input().split()
a = int(a)
b = int(b)
print(a << b)

6048 : [기초-비교연산] 정수 2개 입력받아 비교하기1(설명)(py)

a,b = input().split()
a = int(a)
b = int(b)
print(a<b)

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

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

6050 : [기초-비교연산] 정수 2개 입력받아 비교하기3(설명)(py)

a,b = input().split()
a = int(a)
b = int(b)
print(a <= b)