목록Data/기초 (4)
슬코생
자주 헷갈렸던(?) 코드이기에 이번 기회에 다시 복습할 겸 정리했다. key, value 가져오기 코드당 # Dictionary 에서 value 값만 가져오고 싶을 때! dict = {'짱구' : 25, '흰둥이' : 27} for value in dict.values(): print(value) // 25 // 27 # Dictionary 에서 key 값만 가져오고 싶을 때! dict = {'짱구' : 25, '흰둥이' : 27} for key in dict.keys(): print(key) // 짱구 // 흰둥이 # Dictionary 에서 key-value 다 가져오고 싶을 때! dict = {'짱구' : 25, '흰둥이' : 27} for key, value in dict.items(): prin..
백준이나 프로그래머스에서 코딩 테스트를 연습하다 보면 시간 초과가 뜨는 경우가 종종 있었다. 이 때, 가장 중요한 개념 중 하나가 시간 복잡도! 이를 정확히 알고 있으면 코딩 테스트 시간을 단축 시킬 수 있다. 😤 ✔ 시간 복잡도 정의 : 문제를 해결하는데 걸리는 시간과 입력의 함수 관계 알고리즘의 시간 복잡도는 입력을 나타내는 문자열 길이의 함수로서 작동하는 알고리즘을 취해 시간을 정량화하는 것이다. 알고리즘의 시간복잡도는 주로 빅오 (Big-O) 표기법을 사용하여 나타낸다. ✔ 표기법 1. $O(1)$ : 상수 시간 - random access 가능 2. $O(logN)$ : 로그 시간 - 입력 크기 ($N$)가 커질 때, 연산 횟수가 $logN$에 비례해서 증가하면 시간 복잡도는 $O(logN)$ ..
실습은 구글 코랩에서 진행했다 :) 블로그 복습 정리는 그날 새롭게 안 내용, 그동안 헷갈렸던 내용들 위주로 정리하려고 한다. 1. In-Place Operators a = 5 a += 1 a # a의 경우, 현재 int형으로 원시자료형이다. 즉, 불변타입! 따라서, 불변형의 경우 수정이 필요할 때 새로운 객체를 생성한다. - 기존 객체를 수정 시도하고, 불가능할 시 새로운 객체 생성 (계산 전, 이전 값이 별도로 필요하지 않다면 이를 사용함 - 장점 : 추가 메모리 할당 없이 기존 할당된 메모리를 그대로 사용하므로 메모리 효율화와 속도 향상 기대가 가능해진다. (특히, 배열의 크기가 클수록 할당에 시간이 오래 소요되므로 더 큰 차이가 발생한다.) - 예시 : +=, -=, *=, /= 2. Out-Pl..