본문 바로가기

TIL

(34)
[LeetCode] 136. Single Number, 191. Number of 1 Bits 136. Single Number링크https://leetcode.com/problems/single-number/description/ 풀이시간 - 10:39var singleNumber = function(nums) { const map ={} for (let i=0; i# answervar singleNumber = function(nums) { let uniqNum = 0; for (let idx = 0; idx   인사이트베타적 논리합 잊고 있었고, 써본 적도 없었는데 이런식으로 활용할 수 있구나하고 놀랐다.191. Number of 1 Bits 링크https://leetcode.com/problems/single-number/description/ 풀이시간 - 07:27v..
[Leetcode] 202. Happy Number, 350. Intersection of Two Arrays II 202. Happy Number링크https://leetcode.com/problems/happy-number/description/풀이시간 - 11:29function sumDigits(num) { let sum = 0 let numStr = num.toString() for (let i =0; ivar calculateSquare = function(num) { let sum = 0; while (num > 0) { let digit = num % 10; sum += digit * digit; num = Math.floor(num / 10); } return sum;};var isHappy = function(n) { l..
[Leetcode] 268. Missing Number, 412. Fizz Buzz, 344. Reverse String, 242. Valid Anagram, 387. First Unique Character in a String 268. Missing Number링크https://leetcode.com/problems/missing-number/description/ 풀이시간 - 5:25var missingNumber = function(nums) { for (let i=0; i# 리팩토링 코드 O(n^2) => O(n)var missingNumber = function(nums) { const arr = Array.from({length :nums.length+1}).fill(-1) for (let i=0; i x === -1)};인사이트1. 내장함수는 적절하게 사용해야한다. 무지성으로 사용하니 O(n^2)으로 늘어났다.412. Fizz Buzz(2:17),344. Reverse String(11:44),242..
[Leetcode] 20. Valid Parentheses , 69. Sqrt(x), 66. Plus One 20. Valid Parentheses링크https://leetcode.com/problems/valid-parentheses/description/  풀이시간 - 26:00function checkParent(char) { if (char === '(') return 's' if (char === ')') return 'sc' if (char === '{') return 'm' if (char === '}') return 'mc' if (char === '[') return 'l' if (char === ']') return 'lc'}var isValid = function(s) { let stack = [] for (let i =0; i# 리팩토리 코드var..
[Leetcode] 1. Two Sum, 13. Roman to Integer 1. Two Sum링크https://leetcode.com/problems/two-sum/ 풀이시간 - 5:05var twoSum = function(nums, target) { for (let i=0; i 인사이트없음 13. Roman to Integer링크https://leetcode.com/problems/roman-to-integer/description/ 풀이시간 - 52:03const ROMAN_NUMBER = { I: 1, V: 5, X: 10, L: 50, C: 100, D: 500, M: 1000,};const SPECIAL_CASES = { 'I': { 'V': true, 'X': true }, 'X': { 'L': true, 'C': true }, 'C': { ..
[프로그래머스_완전탐색] 소수찾기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [문제 요구 사항]- 한 자리 숫자가 적힌 종이 조각이 흩어져있습니다. 이 종이 조각으로 만들 수 있는 숫자 중 소수는 몇 개인지 알아내세요 [문제 아이디어]1. 한 자리 숫자들을 순열로 배열해서 만들 수 있는 모든 숫자를 찾는다.2. 해당 숫자가 소수인지 판단한다.  - 소수를 판단할 때는 아리스토텔레스의 체를 사용한다. DP 처럼 미리 만들어두고 재활용해야만 최적화가 될 거 같다. 시간복잡도 :- 순열 사용 시, O(n!) 의 시간 복잡도를 가진다.- 소수 테이블 생성 시, O(nlogn)의 시간 복잡도를 가진다. 합치면 O(n!)이다. 공간복잡도 : ..
[프로그래머스_완전탐색] 전력망을 둘로 나누기 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [문제 요구 사항]- n개의 노드와 n-1개의 간선으로 이루어진 트리가 주어졌다. 이 때, 한 개의 간선을 끊었을 때 두 트리의 노드 차이를 최소한으로 하고 그 값을 구하여라 [문제 아이디어]1. 모든 간선을 순회하며 하나씩 끊는다. 그리고 한 트리를 bfs를 돌리면 작은 트리의 노드 개수가 나온다. 이 때, bfs 개수 - (n-bfs 개수)가 최소가 되는 값을 찾는다.- 시간 복잡도 예상 : 간선의 개수 * bfs worst case = (n-1) * (n-1) = n^2 - 공간 복잡도 예상 : (방문체크 배열 길이 + queue의 최대 깊이) * 간..
[js] Leetcode 45. Jump Game II 문제 Jump Game II - LeetCode Can you solve this real interview question? Jump Game II - You are given a 0-indexed array of integers nums of length n. You are initially positioned at nums[0]. Each element nums[i] represents the maximum length of a forward jump from index i. In other wo leetcode.com 각 배열에는 몇 칸 움직일 수 있는 지가 기록되어있다. 마지막 배열에 도달하는 최소 움직임(걸음) 수를 구하시오 아이디어 1. 이동거리 배열을 만들고, 직전 값을 기준으로 DP 처리..