🌱 공부하면서 자주 보는 것들이지만 기억이 안나는 것들 및 배운 것 정리 + 계속 수정하면서 업데이트 하겠습니당😎
(2022.07.29 ver)
arraySlicing = [1,2,3,4,5,6,7,8,9,10]
ans1 = arraySlicing[:] # 전체 다 불러온다.
print(ans1) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
ans2 = arraySlicing[3:] # 0부터 시작하기에 3이 아닌 4부터 시작한다.
print(ans2) # [4, 5, 6, 7, 8, 9, 10]
ans3 = arraySlicing[:4] # 4번째 값인 5에서 끝나는 것이 아니라 -1을 해줘서 3번째 값 즉, 4에서 끝난다.
print(ans3) # [1, 2, 3, 4]
ans4 = arraySlicing[2:5] # 2번째 값인 3에서 5번째 값이 아니라 -1을 해준 4번째 값에서 끝나기에 3,4,5가 된다.
print(ans4) # [3, 4, 5]
strSlicing = "12345678"
ans5 = strSlicing[:] # 전체 다 불러온다.
print(ans5)
ans6 = strSlicing[3:] # 0부터 시작하기에 3이 아닌 4부터 시작한다.
print(ans6)
ans7 = strSlicing[:4] # 4번째 값인 5에서 끝나는 것이 아니라 -1을 해줘서 3번째 값 즉, 4에서 끝난다.
print(ans7)
ans8 = strSlicing[2:5] # 2번째 값인 3에서 5번째 값이 아니라 -1을 해준 4번째 값에서 끝나기에 3,4,5가 된다.
print(ans8)
s = "123456"
newstring = "9"
index = 1
s = s[:index] + newstring + s[index+1:]
print(s) # "193456"
# 이런식으로 사용하면 중간에 원하는 문자열을 삽입할 수 있다.
# s[:] 안에 있는 값들을 잘 조정하여 원하는 값을 삽입할 수 있다.
-List
s = [1,2,3,4,5,6]
newList = [9]
index = 1
s = s[:index] + newList + s[index + 1:]
print(s) # [1, 9, 3, 4, 5, 6]
# 문자열은 string값을 중간에 넣었지만 List는 List를 넣어줘여한다. 그 외는 문자열과 똑같다.
참고 자료: https://stackoverflow.com/questions/41752946/replacing-a-character-from-a-certain-index
num = list(map(int, input().strip().split()))
print(num) # [1, 2, 3, 4, 5]
N = int(input())
NList = []
for i in range(N):
NList.append(int(input()))
# 5 --- N 입력값
# 2 --- N의 값 만큼 한줄로 입력
# 3
# 4
# 5
# 1
from sys import stdin
input = stdin.readline
N = int(input())
# input 입력할 때 시간이 적게 든다. 추천!!!!
print(12/6) # 2.0 (float이라고 생각하면 될 것 같다.)
print(12/6) # 2 (int라고 생각하면 될 것 같다.)
print(12%6) # 0
print(18%4) # 2
arr = ["1", "2", "3", "4", "5"]
strArr = "".join(arr)
print(strArr) # 12345
# 만약 1 2 3 4 5 이렇게 공백을 넣고 싶으면 ""를 " "로 스페이스만 추가해주면 된다.
# ""안에 넣고 싶은 것을 넣으면 문자열 사이에 ""안에 들어간 요소가 추가된다.
예외)
arr = [1, 2, 3, 4, 5]
strArr = "".join(arr)
print(strArr) # 이렇게 하면 배열 안이 문자열이 아닌 숫자이기에 오류가 발생한다.
arr = list(map(int, input())) # 띄어쓰기 없이 입력받고 싶을 때 사용
# 12345 이렇게 입력해야한다. 1 2 3 4 5 이렇게 입력 시 오류
arr = list(map(int, input().split()))
# 1 2 3 4 5 이렇게 입력. split()때문에 띄어쓰기를 통해 구분한다.
N = int(input())
NList = []
for i in range(N):
NList.append(int(input()))
# 5 --- N 입력값
# 2 --- N의 값 만큼 한줄로 입력
# 3
# 4
# 5
# 1
# 원소 하나씩 입력받기
arr = [for _ in range(B)] # 2차원 배열의 가로길이 : B
for i in range(B):
arr[i] = list(map(int, input().split()))
# 원소에 list 추가하기
arr = []
for i in range(B): # 2차원 배열의 가로길이 : B
arr.append(list(map(int, input().split())))
# 선언과 동시에 입력받기
arr = [list(map(int, input().split())) for _ in range(B)] # 2차원 배열의 가로길이 : B
참고자료: https://dailylifeofdeveloper.tistory.com/132
arr = [[1, 3], [3, 4], [2, 1], [0, 5]]
sortArr = sorted(arr)
print(sortArr)
# sortArr = [[0, 5], [1, 3], [2, 1], [3, 4]]
# arr[i][j] 의 i 값의 순서대로 정렬된다.
arr = [[1, 3], [3, 4], [2, 1], [0, 5]]
arr.sort(key = lambda x:x[0]) # x[0]이 arr[i][j]에서 i를 뜻한다.
print(arr)
# arr = [[0, 5], [1, 3], [2, 1], [3, 4]]
import heapq # heapq 사용하기 위해서 import해준다.
arr = [3, 5, 1, 7, 4, 2] # heapify를 사용하면 기존의 리스트를 heap으로 바꿔준다.
heapq.heapify(arr)
print(arr) # [1, 4, 2, 7, 5, 3]
# heappush를 사용하여 heap에 넣을 수 있다. 그리고 heappush를 하면 자동으로 정렬이된다.
# 즉 아래의 예를 보면 4,7,2,3순으로 push했지만 정렬이 되어 2, 3, 4, 7이 된다.
heap = []
heapq.heappush(heap, 4)
heapq.heappush(heap, 7)
heapq.heappush(heap, 2)
heapq.heappush(heap, 3)
print(heap) # [2, 3, 4, 7]
heapq.heappop(heap) # heappop을 사용하면 최소값을 제거하고 정렬한다. 즉, 앞의 2, 3, 4, 7에서 2를 제거하고 정렬한다.
print(heap) # [3, 7, 4]
# 주의 - heap의 맨 앞이 최소값이지만 그 다음 값이 최소값의 다음 값이 아닐 수도 있다.
heap[0] # heap의 최소값