1. 사칙연산
1.1 간단한 사칙연산
📌 [기본 개념] 사칙연산
✔ [덧셈] +
✔ [뺄셈] -
✔ [곱셈] *
✔ [나눗셈] / , 몫: // , 나머지: % ,
✔ [거듭 제곱] : a ** b ($a^b$)
✔ 사칙연산 계산시 type은 더 큰 범위의 type을 따라가게 되어 있습니다.
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍 첫 번째 줄에 a, b가 공백을 사이에 두고 주어지므로
input().split()를 사용하여 a와 b를 공백을 기준으로 나누고, 이들을 원소로 갖는 리스트를 arr에 넣습니다.
📍 a와 b에 각각 arr의 1, 2 번째 원소를 int()로 감싸서 정수형으로 넣어줍니다.
📍 덧셈은 +, 뺄셈은 -, 몫은 //, 나머지는 % 연산자를 사용하여 계산합니다.
[코드]
arr = input().split()
a, b = int(arr[0]), int(arr[1])
print(a + b)
print(a - b)
print(a // b)
print(a % b)
1.2 길이 변형 후 사각형 넓이 구하기
📌 [기본 개념] 사칙연산 다른 표현
✔ 동일한 변수의 값에 변화를 주고자 할 때 다음과 같이 간단하게 표현할 수 있습니다.
[덧셈] +=
[뺄셈] -=
[곱셈] *=
[나눗셈] /= , %= , //=
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍 첫 번째 줄에 가로와 세로의 길이가 공백을 사이에 두고 주어지므로
input().split()를 사용하여 가로와 세로를 공백을 기준으로 나누고, 이를 원소로 갖는 리스트를 arr에 넣습니다.
📍 arr의 1, 2번째 원소를 각각 int()로 감싸서, width와 height에 넣습니다.
📍+= 를 사용하여 width를 8 증가시키고, *=를 사용하여 3배합니다.
📍 * 연산자를 사용하여 width와 height를 곱해서 넓이를 구합니다.
[코드]
arr = input().split()
width, height = int(arr[0]), int(arr[1])
width += 8
height *= 3
area = width * height
print(width)
print(height)
print(area)
1.3 두 수의 곱과 몫
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍 첫 번째 줄에 a와 b가 공백을 사이에 두고 주어지므로
input().split()를 사용하여 a와 b를 공백을 기준으로 나누고, 이들을 원소로 갖는 리스트를 arr에 넣습니다.
📍 arr의 1, 2번째 원소들을 각각 int()로 감싸서 a와 b에 넣어줍니다.
📍 * 연산자를 사용하여 a와 b의 곱을 구합니다.
📍 / 연산자를 사용하여 a를 b로 나눴을 때의 결과를 구합니다.
📍 f-string을 사용하여 예제와 같은 형식으로 출력되도록 합니다.
나눗셈 결과의 경우 정수형으로 출력되어야 하므로 그 결과를 int()로 감싸줍니다.
[코드]
arr = input().split()
a, b = int(arr[0]), int(arr[1])
print(f'{a} * {b} = {a * b}')
print(f'{a} / {b} = {int(a / b)}')
1.4 몫과 나머지
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍 첫 번째 줄에 a, b가 공백을 사이에 두고 주어지므로
input().split()를 사용하여 a와 b를 공백을 기준으로 나누고, 이들을 원소로 갖는 리스트를 arr에 넣습니다.
📍 arr의 1, 2번째 원소를 각각 int()로 감싸서 a와 b에 넣습니다.
📍 // 연산자를 사용하여 a를 b로 나눴을 때의 몫을 구하고, % 연산자를 사용하여 나머지를 구합니다.
📍 f-string을 사용하여 몫과 나머지 사이에 "..."을 포함하여 출력되도록 합니다.
[코드]
arr = input().split()
a, b = int(arr[0]), int(arr[1])
quotient = a // b
remainder = a % b
print(f'{quotient}...{remainder}')
1.5 입력받아 연산하기
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍 한 줄에 하나씩 두 정수 a, b가 주어지므로
각 줄마다 int(input())을 사용하여 입력받은 값을 정수형으로 가져와 각각 a와 b에 넣어줍니다.
📍 += 를 사용하여 a를 87만큼 증가시켜 저장하고, %= 를 사용하여 b를 10으로 나눈 나머지를 저장합니다.
[코드]
a = int(input())
b = int(input())
a += 87
b %= 10
print(a)
print(b)
1.6 2개의 정수를 서로 더하기
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍 첫 번째 줄에 a, b가 공백을 사이에 두고 주어지므로
input().split()를 사용하여 a와 b를 공백을 기준으로 나누고, 이들을 원소로 갖는 리스트를 arr에 넣어줍니다.
📍 arr의 1, 2번째 원소를 각각 int()로 감싸서 a와 b에 넣어줍니다.
📍 += 를 사용하여 덧셈을 수행합니다.
[코드]
arr = input().split()
a, b = int(arr[0]), int(arr[1])
a += b
b += a
print(a, b)
1.7 출력결과 24
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍 // 연산자는 몫을 구할 때 사용되므로 3을 2로 나눴을 때의 몫은 1입니다.
📍 f-string을 사용하여 a를 소수점 아래 첫째 자리까지 출력되도록 했으므로
출력 결과는 1.0 입니다.
1.8 출력결과 25
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍 %는 나머지를 구하는 연산자입니다.
📍 a % b : a를 b로 나눈 나머지를 구합니다.
📍 a % ( a % b ) : a를 b로 나눈 나머지를 가지고, a 를 이 나머지 값으로 나눴을 때의 나머지를 구합니다.
만약에 a % b의 결과가 0이 나오면, a를 0으로 나눌 수 없으므로 오류가 발생합니다.
보기 중 이에 해당하는 경우는 a = 10, b = 5 입니다.
1.9 출력결과 62
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍a는 정수형이고, b는 실수형입니다.
📍 사칙연산 계산 시 type은 범위가 더 큰 것을 따라가게 되어있습니다.
따라서, a와 b를 더한 c는 실수형이고 그 값은 2.3 입니다.
📍 실수형 변수 포멧 %f를 사용하여 c를 소수점 둘째자리까지 출력합니다.
따라서, 그 결과는 2.30 입니다.
1.10 합과 차의 나눗셈
📌 [문제] 링크
📌 [풀이 및 코드]
[풀이]
📍첫 번째 줄에 두 정수 a, b가 공백을 두고 주어지므로
input().split()를 사용하여 a와 b를 공백을 기준으로 나누고, 이들을 원소로 갖는 리스트를 arr에 넣어줍니다.
📍+ 연산자를 사용하여 a와 b를 더하고, - 연산자를 사용하여 a에서 b를 뺍니다.
📍 / 연산자를 사용하여 a+b의 결과를 a-b의 결과로 나눕니다.
📍 f-string을 사용하여 결과 값을 소수점 둘째자리까지 출력합니다.
[코드]
arr = input().split()
a, b = int(arr[0]), int(arr[1])
print(f'{(a + b)/(a - b):.2f}')
'코딩테스트 대비' 카테고리의 다른 글
[코드트리 챌린지] [Novice Low] 4. 조건문(1) - if 조건문 (0) | 2023.10.03 |
---|---|
[코드트리 챌린지] [Novice Low] 3. 연산자(2) - 합과 평균 (0) | 2023.10.02 |
[코드트리 챌린지] [Novice Low] 2. 입출력 (6) - 특정 문자를 사이에 두고 입력 (0) | 2023.09.25 |
[코드트리 챌린지] [Novice Low] 2. 입출력 (5) - 문자, 문자열 출력 (0) | 2023.09.24 |
[코드트리 챌린지] [Novice Low] 2. 입출력 (4) - 2개의 줄에 걸쳐 입력 (0) | 2023.09.23 |