전체 글
-
[javaScript]자바스크립트 옵셔널 체이닝 연산자 설명 및 예제JavaScript 2022. 5. 10. 00:21
안녕하세요. gaki 입니다. 오늘은 ES11 에서 추가된 옵셔널 체이닝 연산자에 대해서 알아보겠습니다 . 옵셔널 체이닝 연산자는 좌항의 피연산자가 null 혹은 undefined 인 경우 undefined 를 반환하고, 그렇지 않으면 우항의 프로퍼티 참조를 이어갑니다. 1. 옵셔널 체이닝 연산자 설명 2. 옵셔널 체이닝 연산자 예제 1. 자바스크립트 옵셔널 체이닝 연산자 설명 옵셔널 체이닝 연산자는 ?. 입니다. 자바스크립트에서 객체의 프로퍼티를 가리킬 때, 객체가 undefined 거나 null 이면 타입에러가 발생합니다. 에러가 발생하면 프로그램이 강제 종료되며 이는 예기치 않은 버그를 만들어 낼 수 있습니다. 즉, null 이나 undefined 일수도 있는 객체의 프로퍼티에 접근하기 위한 방법은..
-
[JavaScript] 자바스크립트 find 함수 사용법JavaScript 2022. 5. 10. 00:13
안녕하세요. gaki 입니다. 오늘은 배열에서 특정 값을 찾아주는 find 함수에 대해서 이야기 해보려 합니다. find 함수는 자바스크립트 Array 객체의 프로토타입 매서드입니다. 1. find 함수 설명 2. find 함수 예제 1. 자바스크립트 find 함수 설명 find 함수는 Array 객체의 프로토타입 매서드로 존재하는 함수입니다. 즉 따로 임포트 하지않고서, 배열에 바로 사용할 수 있습니다. Array.prototype.find() 시간복잡도: O(N) 함수는 아래와 같이 구성되어 있습니다. arr.find(callback[, thisArg]) find 매서드는 인자로 callback 함수를 받습니다. callback 함수가 참을 반환할때 까지 배열의 각 요소에 대해 callback 함수를..
-
[python] 파이썬 Counter 함수 사용법알고리즘 2022. 5. 6. 23:51
안녕하세요. gaki 입니다. 오늘은 파이썬에서 리스트 안 원소의 개수를 세주는 함수 Counter() 에 대해서 이야기 해보려 합니다. 주로 리스트에서 특정 원소의 개수를 카운팅할 때 사용하곤 하는 함수입니다. 1. Counter 함수 설명 2. Counter 함수 예제 1. 파이썬 Counter 함수 설명 Counter 함수는 collections 라이브러리에 존재하는 함수 입니다. import collections 를 통해서 collections 라이브러리를 가지고 오고 Counter(arr ? : List) => counter(dict) 이런식으로 카운팅 하고 싶은 리스트를 인자로 입력하면 각 인자를 키로 가지고, value 에는 각 인자의 키가 리스트에 몇개 존재하는지 나타내주는 딕셔너리를 반환..
-
파이썬 combinations 사용법 [python, 파이썬]알고리즘 2022. 5. 6. 18:55
조합을 만들어주는 combinations 함수 사용법 (파이썬) combination 함수는 조합을 만들어주는 함수이다. 예를들어 [1,2,3,4] 가 있을 때 2 개를 뽑는 경우의 수를 만들어보면 [1,2], [1,3], [1,4], [2,3], [2,4], [3,4] 총 6가지가 존재한다. [4C2] 이러한 모든 경우를 dfs 를 사용해 직접 구할수도 있지만, 굳이 고생하지 말고 간편하게 combinations 을 사용할 수 있다. 사용법 1. 먼저 itertools 에서 combinations 를 임포트 해준다. from itertools import combinations 2. combinations 함수를 사용한다 (!! 콤비네이션 함수의 반환값은 튜플이다) from itertools impor..
-
A star 알고리즘 (python) 설명알고리즘 2022. 5. 6. 15:20
A star 알고리즘은 시작 노드부터 목표 노드까지 최단거리를 효율적으로 탐색 할 수 있는 알고리즘이다. A Star 알고리즘의 작동은 아래 그림과 같다. 시작점 (0,0) 에서 도착점 (n-1, m-1) 까지 최단거리를 탐색을 하는데 BFS 와는 다르게 모든 노드를 탐색하지 않고 거리가 가까운 노드를 중심으로 탐색을 한다. 반면 BFS 는 모든 노드를 탐색하면서 최단거리를 알아낸다. A star 알고리즘을 활용해 아래 그림과 같이 출발점이 0 인 노드에서 도착점이 6 인 노드까지의 최단거리를 구해보자. A star 알고리즘을 사용하기 위해서 휴리스틱 추정값을 사용해야 한다. 휴리스틱 추정값이란, 간단히 말해서 현재 위치의 노드에서 도착점 까지의 대강의 거리를 말한다. 위 그림을 보면 O 와 C 배열이 ..
-
[LeetCode] Shortest Path in Binary Matrix 풀이 (Python)알고리즘 2022. 5. 6. 14:59
[LeetCode] Shortest Path in Binary Matrix 풀이 (Python) https://leetcode.com/problems/shortest-path-in-binary-matrix/ Shortest Path in Binary Matrix - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 해설 (0,0) 지점부터 (n-1, m-1) 지점까지 가는데 지나는 칸 수를 구하는 문제이다. 각 칸은 0 이나 1 로 구성되어 있으며 0 으로 구..
-
[LeetCode] Backspace String Compare알고리즘 2022. 5. 4. 23:10
844.Backspace String Compare class Solution: def backspaceCompare(self, s: str, t: str) -> bool: def Makestring(myString): ss = "" for char in myString: if (char != "#"): ss += char else: if (len(ss) == 0): continue ss = ss[0:-1] return ss return Makestring(s) == Makestring(t)
-
[LeetCode] Remove Duplicates from Sorted List II알고리즘 2022. 5. 4. 19:16
82.Remove Duplicates from Sorted List II 각 노드가 나오는 갯수와, 각 노드를 dictionary 에 넣은 뒤에 key 값을 사용하여 비교하는 방법이다. 하지만, dictionary 는 파이썬에서는 key 가 들어간 순서가 보장되긴 하지만, 원래는 순서가 보장되지 않는 자료구조이기때문에, 이와같이 링크드 리스트에 사용하기에는 어울리지 않는다. time O(2 * N) space O(2 * N) # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def deleteD..