내가 처음 배운 언어가 Java이기에 Java로 코딩 테스트를 공부하다 보니,
코드도 길어지고 처리해야 할 것도 많은 등 번거로움이 있었다.
그렇기에 이번에 새로 Python을 독학하여 코딩 테스트를 연습하기로 했다.
Java와 달리 자료형도 없고 세미콜론도 필요 없어서 가독성도 좋고 치기 편했다.
# 2557 - Hello World
print("Hello World!")
단순한 출력 문제이다. (문자열에 겹따옴표, 홑따옴표 상관 X)
그러나 이후에 다른 언어 사용과 혼동하지 않도록 문자는 홑따옴표, 문자열은 겹따옴표 쓰는게 헷갈리지 않는다.
# 1000 - A + B
import sys
input = sys.stdin.readline # 입력: 1 2
a, b = map(int, input().split()) # a = 1, b = 2
print(a + b) # 출력: 3
- sys.stdin.readline : 표준 입력 readline 함수(한 줄 단위로 입력 값을 읽음), 원하는 변수에 대입하여 사용
- map(함수, 배열) : 두번째 인자(띄어쓰기로 받은 입력 함수)에 첫 번째 인자(int 변환함수)를 적용
- input().split() : 구조분해 할당으로 변수 a, b 선언 시 띄어 쓰기를 기준으로 입력받아 변수에 각각 대입
- python의 print()는 문자열을 기준으로 하기에 int 사용 시 int로 타입 변환을 해주어야 한다. (형변환 안할 시 타입 오류 발생)
# 1001 - A - B
import sys
input = sys.stdin.readline
a, b = map(int, input().split())
print(a - b)
# 10998 - A x B
import sys
input = sys.stdin.readline
a, b = map(int, input().split())
print(a * b)
# 1008 - A / B
import sys
input = sys.stdin.readline
a, b = map(int, input().split())
print(a / b)
# 10869 - 사칙연산
import sys
input = sys.stdin.readline
a, b = map(int, input().split())
print(a + b)
print(a - b)
print(a * b)
print(a // b)
print(a % b)
- 나눗셈 연산자 ('/') : 몫과 소수점으로 출력
- 몫 연산자 ('//') : 몫 출력
- 나머지 연산자 ('%') : 나머지 출력
# 10926
import sys
input = sys.stdin.readline # 입력: hello
a = input().strip()
print(a + "??!") # 출력: hello??!
- strip() : 문자열 입력 함수 (줄바꿈 제거)
# 18108 - 2541년을 1998년으로 변환
import sys
input = sys.stdin.readline
a = int(input()) # int로 하나만 받을 시, split() 필요 x
print(a - 543) # 2541 - x = 1998
# 10430
import sys
input = sys.stdin.readline
A, B, C = map(int, input().split())
print((A + B) % C)
print(((A % C) + (B % C)) % C)
print((A * B) % C)
print(((A % C) * (B % C)) % C)
- 일반 수학의 곱셈 연산자(x) -> 컴퓨터의 곱셈 연산자 (*)
# 2588
import sys
input = sys.stdin.readline
a, b = [int(input()) for _ in range(2)] # 줄바꿈으로 입력받기, range(반복 횟수)
print(a * (b % 10), a * ((b % 100) // 10), a * (b // 100), a * b, sep = '\n')

(3) 472 x 5 (4) 472 x 8 (5) 472 x 3 (6) 472 x 385
- 예시 사진을 보면 공통으로 472(a 값)이 들어가고 385(b 값)에는 변동이 필요하다.
- (3) 385 / 10은 몫은 38 나머지는 5가 된다. => a * (b % 10)
- (4) 385 / 100은 하면 몫 3, 나머지 85가 되고 85 / 10의 몫은 8이 된다. => a * ((b % 100) // 10)
- (5) 385 // 100은 몫은 3이 된다. => a * (b // 100)
- (6) 472 * 385 => a * b
- print() 시, 콤마로 구분하여 출력 -> 출력문 작성 후 마지막에 sep='\n'을 해주면 기존의 띄어쓰기 출력이 줄바꿈으로 출력된다.
- sep='/n'을 안할 시 2460 2776 1416 ... 으로 출력 됨
# 11382
import sys
input = sys.stdin.readline
a, b, c = map(int, input().split())
print(a + b + c)
# 10171 - 고양이 (개행문자 유의)
import sys
print("\\ /\\") ##
print(" ) ( ')")
print("( / )")
print(" \\(__)|") ##
- 역슬래시 ('\') 처리 : 역슬래시 앞에 역슬래시를 하나 더 추가
# 10172 - 개 (개행문자 유의)
import sys
print("|\_/|")
print("|q p| /}")
print("( 0 )\"\"\"\\") ##
print("|\"^\"` |") ##
print("||_/=\\\\__|") ##
- 따옴표(") 처리 : 따옴표 앞에 역슬래시 하나 추가 -> 따옴표 처리 안해 줄 시, 앞에 있는 따옴표가 문자열 따옴표를 닫아줌
'problem-solving > Python' 카테고리의 다른 글
| Ch3. 반복문 (Baekjoon) (1) | 2024.12.27 |
|---|---|
| Ch2. 조건문 (Baekjoon) (2) | 2024.12.27 |