📍list comprehension
- 빠르게 배열 만들기 가능
- 조건문도 사용 가능
countries = ["Korea", "Japan", "China", "France", "Germany", "USA"]
name_lengths = [len(country) for country in countries]
print(name_lengths) # [5, 5, 5, 6, 7, 3]
first_alphabet = [country[0] for country in countries]
print(first_alphabet) # ['K', 'J', 'C', 'F', 'G', 'U']
# 1부터 100까지 3의 배수 배열에 담아 출력하기
num_arr = [x for x in range(1, 101) if x % 3 == 0]
print(num_arr)
📍시퀀스 연산
- list 뿐만 아니라 tuple 에도 공통으로 사용되는 시퀀스 연산은 아래와 같음
len(sequence)
for el in sequence
if el in sequence
sequence[i]
sequence[i:j]
- i를 생략하면 처음부터 슬라이싱
- j를 생략하면 끝까지 슬라이싱
index, element in enumerate(sequence)
- JavaScript와 다르게 인덱스가 있으면 value보다 앞에 온다
📍list 메서드
list.copy() : 리스트의 사본 생성
countries = ["Korea", "Japan", "China", "France", "Germany", "USA"]
new_countries = countries
new_countries.clear()
print(countries) # []
countries = ["Korea", "Japan", "China", "France", "Germany", "USA"]
new_countries = countries.copy()
new_countries.clear()
print(countries) # ["Korea", "Japan", "China", "France", "Germany", "USA"]
list.insert(index, value) : list의 index에 value 삽입
list.clear() : list를 빈 list로 만듬
list.extend(other_list) : concat처럼 리스트를 합침
📍list 에서 join을 쓸 때는 원소가 모두 string이어야 함
백준 10162 < 전자레인지 >
https://www.acmicpc.net/problem/10162
greedy 문제
t = int(input())
btns = [300, 60, 10]
pushes = [0, 0, 0]
for i in range(3):
push = t // btns[i]
pushes[i] = push
t %= btns[i]
if t > 0:
print(-1)
else:
print(" ".join(map(str, pushes))) # int[] 을 str[] 으로 만들어줘야 함