[Easy] 206. Reverse Linked List
leetCode 2022. 5. 18. 11:35

문제 Given the head of a singly linked list, reverse the list, and return the reversed list. 예시 Example 1: Input: head = [1,2,3,4,5] Output: [5,4,3,2,1] Example 2: Input: head = [1,2] Output: [2,1] Example 3: Input: head = [] Output: [] 제약조건 Constraints: The number of nodes in the list is the range [0, 5000]. -5000

[Medium] 994. Rotting Oranges
카테고리 없음 2022. 5. 17. 17:35

문제 You are given an m x n grid where each cell can have one of three values: 0 representing an empty cell, 1 representing a fresh orange, or 2 representing a rotten orange. Every minute, any fresh orange that is 4-directionally adjacent to a rotten orange becomes rotten. Return the minimum number of minutes that must elapse until no cell has a fresh orange. If this is impossible, return -1. 예시 x..

[Medium] 542. 01 Matrix
leetCode 2022. 5. 17. 14:56

문제 Given an m x n binary matrix mat, return the distance of the nearest 0 for each cell. The distance between two adjacent cells is 1. 예시 Example 1: Input: mat = [[0,0,0],[0,1,0],[0,0,0]] Output: [[0,0,0],[0,1,0],[0,0,0]] Example 2: Input: mat = [[0,0,0],[0,1,0],[1,1,1]] Output: [[0,0,0],[0,1,0],[1,2,1]] 제약 조건 Constraints: m == mat.length n == mat[i].length 1

2장. 리팩터링 원칙
리팩터링 2판 2022. 5. 16. 23:36

리팩터링 정의 리팩터링 : 소프트웨어의 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법 왜(why) : 이해하고 수정하기 쉬운 코드 무엇을 (what) : 내부 구조를 변경 어떻게 (how) : 겉보기 동작은 그대로 유지한 채 겉보기 동작의 유지란? 예시 : 함수 매개변수화 하기 function tenPercentRaise(aPerson){ aPerson.salary = aPerson.salary.multiply(1.1); } function fivePercentRaise(aPerson){ aPerson.salary = aPerson.salary.multiply(1.05); } ↓ function raise(aPerson, factor){ aPerson.sal..

04장 변수, 05장 표현식과 문
모던 자바스크립트 Deep Dive 2022. 5. 16. 22:37

변수 이름은 어디에 등록되는가? 변수 이름을 비롯한 모든 식별자는 실행 컨텍스트에 등록된다. 실행 컨텍스트(execution context)는 자바스크립트 엔진이 소스코드를 평가하고 실행하기 위해 필요한 환경을 제공하고 코드의 실행 결과를 실제로 관리하는 영역이다. 자바스크립트 엔진은 실행 컨텐스트를 통해 식별자와 스코프를 관리한다. 변수 이름과 변수 값은 실행 컨텍스트 내에 키(key) / 값 (value) 형식인 객체로 등록되어 관리된다. 자바스크립트 엔진이 변수를 관리하는 메커니즘은 13장 "스코프"와 23장 "실행 컨텍스트"에서 자세히 살펴볼 것이다. 지금은 단순히 자바스크립트 엔진이 변수를 관리할 수 있도록 변수의 존재를 알린다는 정도로만 알아두자. WeakRef() ES2021에서 나온 새로운..

2022.05.16~05.20_TIL
TIL (Today I Learned) 2022. 5. 16. 16:49

5월 16일 (월) 오늘 한 일 leetCode 풀기 617. Merge Two Binary Trees 두 개의 이진 트리를 병합하는 문제였다. 처음에 문제만 보고 이게 뭐지? 싶었는데, node 값이 있다면 그 값을 더하고, 하나의 이진 트리만 node가 존재한다면 그 node를 넣어서 새로운 tree를 만드는 문제였다. 이번에는 강의를 듣지 않고 구글링을 하여 문제를 이해하는 방법을 사용했다. node를 병합하는 함수를 만들어 재귀 호출을 하면 쉽게 구현할 수 있었다. 116. Populating Next Right Pointers in Each Node 같은 level의 node로 포인터를 향하게 하는 문제였다. C언어를 잘 모른다면 포인터의 개념이 어려울 수 있는데, 그냥 연결 리스트의 next와..

[Medium] 116. Populating Next Right Pointers in Each Node
leetCode 2022. 5. 16. 16:17

https://leetcode.com/problems/populating-next-right-pointers-in-each-node/ Populating Next Right Pointers in Each Node - 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 문제 You are given a perfect binary tree where all leaves are on the same level, and every parent has two children...

[Easy] 617. Merge Two Binary Trees
leetCode 2022. 5. 16. 15:57

https://leetcode.com/problems/merge-two-binary-trees/ Merge Two Binary Trees - 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 문제 : You are given two binary trees root1 and root2. Imagine that when you put one of them to cover the other, some nodes of the two trees are overlapped w..