입력받은 개수만큼 1차원 배열로 변환하기
입력받을 땐, 공백을 기준으로 입력받거나 엔터를 기준으로 입력받을 수 있는데요!
엔터를 기준으로 입력받을 땐, 원하는 개수만큼 반복문을 돌리면 되지만,
공백을 기준으로 입력받을 때 쓰이는 split() 함수는 사용자가 입력한 정수의 개수와 상관없이 입력받기 때문에 입력 크기를 제한할 수 없습니다!
엔터를 기준으로 원하는 개수만큼 입력받아 1차원 배열로 변환하는 방법
n = int(input())
numbers = [int(input()) for _ in range(n)]
공백을 기준으로 입력받아 1차원 배열로 변환하는 방법
numbers = list(map(int, input().split()))
리스트 원소값 서로 바꾸기
a = [1, 2, 3, 4]
i, j = 1, 2 # 바꿀 인덱스
a[i], a[j] = a[j], a[i]
print(a) # 출력: [1, 3, 2, 4]
파이썬에서는 위와 같이 temp 변수 없이도 쉽게 원소의 값을 서로 바꿀 수 있습니다.
리스트 원소의 합 구하기
numbers = [1, 2, 3, 4, 5]
print(sum(numbers)) # 출력: 15
sum() 함수를 통해 쉽게 합을 구할 수 있습니다.
두 배열의 원소 교체
n,k=map(int, input().split())
a=list(map(int, input().split()))
b=list(map(int, input().split()))
a.sort()
b.sort(reverse=True)
for i in range(k):
if a[i] < b[i]:
a[i], b[i] = b[i], a[i]
else:
break
print(sum(a))
혼자 쓴 코드인데 나동빈 씨 코드랑 완죠니 똑같아서 기분이 좋았다ㅎㅎ 물론 문제가 매우 쉽긴 했지만,,,
https://www.youtube.com/watch?v=KGyK-pNvWos&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=4
오늘의 나동빈 정렬 강의 중 [두 배열의 원소 교체]에 대해 공부해 봤습니다!
공부 인증!
정렬은 오랜만이라 퀵정렬, 계수정렬의 방식에 대해 좀 까먹고 있었는데 이번에 확실히 알게 되어 좋았다!
'코딩 테스트 일지 📒' 카테고리의 다른 글
[이진탐색] 떡볶이 떡 만들기 + map, 리스트 컴프리헨션 (0) | 2024.03.21 |
---|---|
[구현] 프로그래머스_가장 큰 수 + 자릿수를 기준으로 정렬, lambda, 슬라이싱 (2) | 2024.03.20 |
[DFS & BFS] 프로그래머스_게임 맵 최단거리 & 나동빈_미로탈출 (1) | 2024.03.13 |
[DFS & BFS] 음료수 얼려먹기 + 2차원 리스트 생성 및 입력 방법 (0) | 2024.03.11 |
[구현] 프로그래머스_키패드 누르기 (0) | 2024.03.08 |