출처: 이것이 취업을 위한 코딩테스트다 - 나동빈 저!
배너: godori님이 만드신 배너 메이커 활용
알고리즘 문제는 적절한 입력이 주어졌을 때, 그것을 사용해서 적절한 알고리즘을 수행해 결과를 출력해야 한다.
input()
함수를 사용해 한 줄의 문자열을 입력받는다.int()
함수를 사용한다.여러 개의 데이터를 입력받을 때에는 데이터가 공백으로 구분되는 경우가 많은데, 이때는 입력받은 문자열을 띄어쓰기로 구분해서 각각 정수 자료형 데이터로 저장하는 코드가 자주 사용된다.
이 코드는 정말 자주 사용되므로 외우고 있는 것이 좋다고 한다.
list(map(int, input().split()))
이용input()
으로 입력받은 문자열을 split()
을 이용해 공백으로 나눈 리스트로 변환map
을 이용해서 해당 리스트의 모든 원소에 int()
함수 적용list()
로 바꿔서 입력받은 문자열을 띄어쓰기로 구분해서 각각 숫자형으로 저장만약 입력 하나 하나가 줄바꿈을 통해 따로 입력된다면, int(input())
을 여러 번 사용해서 받으면 된다.
# 데이터 개수 입력
n = int(input())
# 각 데이터를 공백으로 구분해서 입력
data = list(map(int, input().split()))
data.sort(reverse = True)
print(data)
5
33 78 90 12 83
[90, 83, 78, 33, 12]
# n, m, k를 공백으로 구분하여 입력
n, m, k = map(int, input().split())
print(n, m, k)
1, 2, 5
1, 2, 5
input()
함수를 사용하면 시간 초과로 오답 판정을 받을 수도 있다sys.stdin.readline()
함수를 이용한다.readline()
으로 입력하면 입력 후 엔터 키가 줄 바꿈 기호로 입력되는데, 이 공백 문자를 제거하기 위해 rstrip()
함수를 사용해야 한다.readline()
함수 사용 소스코드 예시import sys
# 문자열 입력받기
data = sys.stdin.readline().rstrip()
print(data)
Hello World
Helo World
파이썬에서는 print()
함수를 이용해서 데이터를 출력한다.
print()
안에 변수나 상수를 매개 변수로 입력받아 출력한다.print()
는 기본적으로 출력 이후에 줄 바꿈을 수행하기 때문에, print()
를 사용할 때마다 줄이 변경된다.a = 1
b = 2
print(a)
print(b)
print(a, b)
1
2
1 2
str()
함수를 이용해서 변수 데이터를 문자열로 바꿔주거나# 출력할 변수
answer = 9
print("정답은 " + answer + "입니다.")
TypeError: can only concatenate str (not "int") to str
# 출력할 변수
answer = 9
print("정답은 " + str(answer) + "입니다.")
정답은 9입니다.
# 출력할 변수
answer = 9
print("정답은 ", str(answer), "입니다.")
정답은 9 입니다.
# 출력할 변수
answer = 9
print(f"정답은 {answer}입니다.")
정답은 9입니다
파이썬에서 람다 표현식을 사용하면 함수를 한 줄에 작성해 간단하게 사용할 수 있다.
def add(a, b):
return a + b
# 일반적인 add() 메서드 사용
print(add(3, 7)) # 10
# 람다 표현식으로 구현한 add() 메서드
print(lambda a, b: a + b)(3, 7)) # 10