[Algorithm] 26년 09월

호두먹는 호람이·약 20시간 전

Algorithm

목록 보기
3/3

1. input()과 split()

질문

입력값을 특정 기준으로 나누려면 어떻게 해야 할까?

핵심

input()은 문자열을 입력받고, split()은 문자열을 나눈다.

a, b = input().split()
m, d, y = input().split('-')

기억할 것

input()          # 문자열 입력
.split()         # 공백 기준 분리
.split('-')      # '-' 기준 분리

2. 여러 변수에 저장하기

질문

a, b = input().split()은 어떻게 동작할까?

핵심

split()으로 나눈 값을 각각의 변수에 저장할 수 있다.

a, b = input().split()

입력이

10 20

이면

a = '10'
b = '20'

기억할 것

변수 개수와 나눠진 값의 개수가 같아야 한다.


3. map()과 list()

질문

왜 아래 코드는 잘못된 걸까?

arr = [map(int, input().split())]

핵심

[map(...)]은 map 객체 하나를 담은 리스트다.

숫자들을 리스트로 만들려면:

arr = list(map(int, input().split()))

흐름

input()
→ split()
→ map(int, ...)
→ list(...)

예:

10 20 30
arr = [10, 20, 30]

기억할 것

[map(...)]       # map 객체 하나를 리스트에 저장
list(map(...))   # map의 결과를 리스트로 변환

4. 문자열을 숫자로 변환하기

질문

입력받은 숫자로 계산하려면?

핵심

input()의 결과는 기본적으로 문자열이다.

a = int(input())

여러 개라면:

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

리스트라면:

arr = list(map(int, input().split()))

기억할 것

int()    # 정수 변환
float()  # 실수 변환
str()    # 문자열 변환
list()   # 리스트 변환

5. 리스트 기본 함수

핵심

arr = [10, 20, 30]

sum(arr)   # 60
len(arr)   # 3
max(arr)   # 30
min(arr)   # 10

평균:

sum(arr) / len(arr)

기억할 것

len()은 마지막 인덱스가 아니라 원소 개수를 반환한다.


6. /, //, %

질문

평균을 버림 처리하려면?

핵심

7 / 3
# 2.333...

7 // 3
# 2

7 % 3
# 1

기억할 것

/  : 일반 나눗셈
// : 몫
%  : 나머지

7. f-string 소수점 출력

질문

:.0f는 버림일까?

핵심

아니다. :.0f는 반올림해서 소수점 0자리까지 출력한다.

x = 3.8

print(f'{x:.0f}')
# 4

print(f'{x:.1f}')
# 3.8

기억할 것

출력 자릿수 지정과 버림은 다르다.


8. sep과 end

질문

print()에서 값 사이의 공백을 없애려면?

핵심

print(a, b, sep='')

sep은 값 사이, end는 출력 마지막을 설정한다.

print('A', 'B', sep='')
# AB

print('A', end='')
print('B')
# AB

기억할 것

sep : 출력값 사이
end : 출력 마지막

가장 중요하게 복습할 코드

arr = list(map(int, input().split()))

이 코드는 반드시 각 단계를 설명할 수 있어야 한다.

input()
→ 문자열 입력

split()
→ 문자열 분리

map(int, ...)
→ 각 값을 정수로 변환

list(...)
→ 리스트로 변환

Python 기초에서는 우선 입력 → 자료형 변환 → 리스트 저장 → 계산 → 출력 흐름에 익숙해지는 것이 중요하다.

0개의 댓글