스히 2022. 8. 7. 13:54

<map>

 

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

 

이 두 줄을 합치면 아래와 같음

 

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

 

 

 

  • map(함수, 리스트)

- 주어진 리스트의 원소들 하나하나를 함수로 적용시켜줌

- 주어진 두개의 ㄱ밧이 변하지 않을 것이고, 그대로 하나씩 출력할 것이라면, list보다 tuple이 적절

 

 

 

 

 

+) flashback

- tuple: 값 바꾸기 불가능, 한 번 만들어지면 고정

- list: 값 바꾸기 가능, 원소 줄거나 늘어나기 가능

 

 

 

 

 

<unpacking>

 

l = [34, 22]
a, b = l
print(a, b)

 

 

 

<list comprehension>

 

arr = [1, 2, 3, 4]
new_arr = []
for elem in arr:
new_arr.append(elem*2) 
print(new_arr)

 

 

위의 세 줄을 아래의 한 줄로 만드는 것이 list comprehension

 

 

arr = [1, 2, 3, 4]
new_arr = [elem * 2 for elem in arr]
print(new_arr)

 

 

 

<2차원 배열 입력>

 

arr_2d = []
for _ in range(4):
arr_2d.append(list(map(int, input().split())
arr_2d = [
	list(map(int, input().split())) #2차원 배열 입력받는 코드
	for _ in range(4)
	]

 

 

 

 

 

+) 1차시 과제 중 어려웠던 문제

  • 1차원 배열 - count배열 - 나눗셈의 나머지
  • 1차원 배열 - 최대 최소 - 두 숫자의 차의 최솟값
  • 2차원 배열 - 새로운 2차원 배열의 선언 - 두 배열의 곱
  • 2차원 배열 - 새로운 2차원 배열의 선언 - 두개의 격자 비교하기