python으로 알고리즘 공부를 시작함.
출력
print()
파이썬의 print의 경우, 자동으로 줄바꿈이 되며 변수도 바로 사용할 수 있어서 편하다.
입력
input()
input안에 메시지를 넣으면 코드를 실행했을 때 메시지가 먼저 나타나고 그 옆에 입력을 받을 수 있도록 커서가 깜빡인다.
input().split(구분문자)
한 줄 입력을 받을 때 구분문자로 나눠서 문자로 이뤄진 리스트를 입력받는다.
1
2
3
4
|
arr = input().split()
# 1 3 5 입력 후 엔터
print(arr)
# ['1', '3', '5']
|
cs |
a, b, c = input().split()
여러 문자를 각각의 변수에 입력할 수 있다.
1
2
3
4
|
a, b, c = input().split()
# 1 3 5 입력 후 엔터
print(b)
# 3 출력
|
cs |
단 위와 같이 리스트의 요소를 따로 지정하는 경우는 요소의 갯수에 맞춰서 입력하지 않으면 오류가 생긴다.
위의 경우에 '1 3'만 입력하면 안됨
int(input())
형변환(문자 -> 숫자)
입력받은 내용은 문자로 저장된다. 앞에 int로 형변환을 하면 숫자로 저장할 수 있다.
arr = list(map(int, input().split()))
입력 데이터가 몇 개인지 알 수 없는 경우에는 map과 list를 사용한다.
map(int, input().split()) : 한 줄 입력받은 내용을 공백으로 나눈 후 각각 int로 변환한다
list() : 괄호 안의 데이터를 list로 묶는다
1
2
3
4
|
arr = list(map(int, input().split()))
# 1 3 5 입력
print(arr)
# [1, 3, 5]
|
cs |
연산기호
+ 더하기
- 빼기
/ 나누기
% 나머지
// 몫
2588번
https://www.acmicpc.net/problem/2588
내가 작성한 코드
1
2
3
4
5
6
|
a = int(input())
b = list(map(int,input()))
print(a*b[2])
print(a*b[1])
print(a*b[0])
print(a*b[2] + a*b[1]*10 + a*b[0]*100)
|
cs |
첫 번째 수는 세자리수로 입력받고, 두 번째 수는 입력받아 각 자리수를 따로 list에 집어넣었다.
그래서 (3), (4), (5)를 a*b[n]으로 바로 구하고 (6)은 자리수에 맞춰 10과 100을 곱해 더해주었다.
다른 정답들의 경우, b도 a와 동일하게 입력받은 후 연산을 통해 자리수를 따로 구해 곱해주는 경우도 있었다.
(3) a * (b % 10)
(4) a * (b % 100 // 10)
(5) a * (b // 100)
참고한 곳 : https://itcrowd2016.tistory.com/81
'알고리즘' 카테고리의 다른 글
백준 - 함수 (0) | 2021.07.27 |
---|---|
백준 - 1차원 배열 (0) | 2021.07.26 |
백준 - while문 (0) | 2021.07.20 |
백준 - for문 (0) | 2021.07.20 |
백준 - if문 (0) | 2021.07.16 |