내용 및 해설 정리: inner-game.tistory.com/46 leetcode.com/problems/reverse-string/ class Solution: def reverseString(self, s: List[str]) -> None: """ Do not return anything, modify s in-place instead. """ left, right = 0, len(s) - 1 while left < right: s[left], s[right] = s[right], s[left] left, right = left + 1, right - 1 leetcode.com/problems/reverse-integer/ class Solution: def reverse(self, x: int)..
leetcode.com/problems/decoded-string-at-index/ An encoded string S is given. To find and write the decoded string to a tape, the encoded string is read one character at a time and the following steps are taken: If the character read is a letter, that letter is written onto the tape. If the character read is a digit (say d), the entire current tape is repeatedly written d-1 more times in total. N..
Array - Top Interview Questions[EASY] (1/9) : Java 전반적인 해설은 여기에 있음(Java) : inner-game.tistory.com/38 leetcode.com/problems/remove-duplicates-from-sorted-array/ class Solution: def removeDuplicates(self, nums: List[int]) -> int: len_ = 1 if len(nums) == 0: return 0 for i in range(1, len(nums)): if nums[i] != nums[i-1]: nums[len_] = nums[i] len_ += 1 return len_ leetcode.com/problems/best-time-to-..
[Book] Cracking the coding interview 도서 입니다. 코딩 인터뷰 완전 분석 국내도서 저자 : 게일 라크만 맥도웰(Gayle Laakmann McDowell) / 이창현역 출판 : 인사이트 2017.08.14 상세보기 Cracking the Coding Interview (Paperback) 외국도서 저자 : Gayle Laakmann McDowell 출판 : CareerCup 2015.04.09 상세보기 [Video] 관련 동영상 강의 입니다. 자료구조/알고리즘 기초 강의 - Cracking the coding interview [Source code] 소스코드 입니다. github.com/careercup/CtCI-6th-Edition-Python careercup/CtCI..
● 1330 - 다이나믹 프로그래밍 5 트리의 독립집합 트리의 독립집합 그래프의 독립집합은 구할수 없지만, 트리의 독립집합은 다이나믹으로 구할수 있다. D[V][0]:V가 포함되지않음 사회망서비스(SNS) 얼리어답터 문제 사회망 서비스(SNS) 앞의 문제랑 비슷하다. 트리나라 트리나라 ??? 1,2,3 더하기 2 1, 2, 3 더하기 2 k번째를 구하려면 우선 전체 방법의 수를 알아야 한다. D[n-1]: 1로 시작하는 합의 개수 D[n-2] D[n-3]: 3으로 시작하는.. K번째 괄호 문자열 K번째 괄호 문자열 D[N][L]: 길이가 N인 괄호 문자열의 개수 L:짝이 맞지 않은 여는 괄호의 개수 L의 값이 음수가 나오는 경우는 올바른 괄호 문자열이 아니다. 한번 짝이 맞지 않아버리면 그 뒤도 계속 짝..
코드플러스에서 백준 알고리즘 고급으로1 강의를 듣고 개인적으로 정리한 강의 후기 입니다. ● 1320 - 다이나믹 프로그래밍 4 강의: DP4-1 1. 비트마스크 + 다이나믹 2. 행렬 + 다이나믹 에 대해서 배우겠습니다. 백준 2133 타일채우기 타일 채우기 타일채우기 ( 비트마스크 다이나믹 알아보기 ) 기준은 열로 하겠다. 열마다 2^3 경우의 수 가능. 왜냐하면 3xn 이기 때문이다. 열기준으로 1부터 ...n까지 채우겠다. 0~7까지 상태 중, 그 앞에 올수있는 상태 찾기. 상태는 사실비트마스크다. 000, 001, 010 이런식. 3xi를 채운다는것. i열은 빈칸이 있어도 되지만, 1~ i-1 열은 빈칸이 없어야 한다. 점화식 만들고, 정답은 D[N][7] 에 있다. 백준 2098 외판원 순회 ..
백준/BOJ/코드플러스/알고리즘 강의 후기 1/2 1강 ● 1300 - 다이나믹 프로그래밍 3 알약 욕심쟁이 판다 내리막 길 가장 큰 정사각형 1, 2, 3 더하기 7 1, 2, 3 더하기 9 고층 빌딩 홍준이의 친위대 : 여기까지 2강 좋아하는 배열 : 여기부터 3강 방법을 출력하지 않는 숫자 맞추기 숫자 맞추기 자물쇠 알약 한조각 F, 반조각 F 반조각: (F, H) -> (F-1, H+1) 한조각: (F, H) -> (F, H-1) 초기값은 D[0][0] = 1
백준/BOJ/코드플러스/알고리즘 강의 후기 수강신청해서 보세요~! 정말 돈 하나도 안아깝습니다. :) 12/31 복습: 처음부터~ 1/2 복습: 연습1~ ● 1000 - 다이나믹 프로그래밍 2 - 25/15/32분 이동하기 점프 점프 퇴사 2 팰린드롬? 1, 2, 3 더하기 4 파일 합치기 평범한 배낭 기타리스트 뮤탈리스크 괄호 백준 11048 이동하기 www.acmicpc.net/problem/11048 여러가지방법으로 다이나믹을 푸는것을 설명하는 강의 특징1. 큰문제에서 작아지고 있다. => DP 특징2. 한번 오른쪽이나 아래로 가면 되돌아갈 수 없다. 방법1. 점화식 max(어디서 올때 가장큰가) + 현재값 다이나믹에서는 0으로 초기화해놓고 인덱스1부터 쓰는것이 좋을때가 많다. 방법2. 점화식 어디..
● 400 - 다이나믹 프로그래밍 1 다이나믹 프로그래밍이 무엇인지, 난이도가 가장 낮은 문제들을 이용해 다이나믹 프로그래밍을 이해해 봅니다. 아래의 다이나믹 프로그래밍 프로그래밍1) 맛보기 강의를 가져왔다. code.plus/lecture/108 피보나치수를 예를 들어서 설명해 준다. 메모이제이션을 설명해준다. 탑다운과 바텀업도 알려준다. 탑다운 -> 재귀함수 바텀업 -> 작은문제부터 차례대로 푼다. f[0] = 0; f[1] = 1; for(int i ~ 이런 스타일 문제풀이전략 - 점화식을 만들자. - 문제를 많이 풀면서 감을 잡는것이 중요하다. ● 400 - 다이나믹 프로그래밍 1 1로 만들기 2×n 타일링 2×n 타일링 2 1, 2, 3 더하기 카드 구매하기 카드 구매하기 2 1, 2, 3 더하..
64. Minimum Path Sum leetcode.com/problems/minimum-path-sum/ Summary We have to find the minimum sum of numbers over a path from the top left to the bottom right of the given matrix . Solution Approach 1: Brute Force The Brute Force approach involves recursion. For each element, we consider two paths, rightwards and downwards and find the minimum sum out of those two. It specifies whether we nee..
● 파이썬 공부 외국어 사이트1 www.w3schools.com/python/default.asp Python Tutorial Python Tutorial Learning by Examples With our "Try it Yourself" editor, you can edit Python code and view the result. Click on the "Try it Yourself" button to see how it works. Python File Handling In our File Handling section you will learn how to open, r www.w3schools.com ● 파이썬 공부 외국어 사이트2 www.tutorialspoint.com/python_data..
www.hackerrank.com/domains/python // 깔끔하게 integer 나누기 / 소수 나누기 n이 5일때, 12345 를 출력하기 if __name__ == '__main__': print(*range(1, int(input())+1), sep='') >>> s = set("Hacker") >>> print s.difference({"Rank":1}) set(['a', 'c', 'e', 'H', 'k', 'r']) >>> s - set("Rank") set(['H', 'c', 'r', 'e']) To All Beginners Overthere!! Don't try to copy the style of others . Shorten the code as long as you are ab..
● InterviewBit에서 튜토리얼 따라서 실제로 해보기 inner-game.tistory.com/420 InterviewBit - brush up skills for coding interview (python) 갑자기 코딩인터뷰를 꼭 파이썬으로 봐야한다고 해서.. 파이썬을 리마인드 할수 있는 몇개의 사이트를 둘러봤다. 가장 먼저 생각나기도 했던, 이 사이트가 좋은것 같다. www.interviewbit.com/invite/hail inner-game.tistory.com ● InterviewBitHackerrank - 파이썬 코딩 공부 기초 inner-game.tistory.com/423 Hackerrank - 파이썬 코딩 공부 기초 사이트(Python) www.hackerrank.com/doma..
1. Two Sum leetcode.com/problems/two-sum/ class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: d = {} for i, n in enumerate(nums): m = target - n if m in d: return [d[m], i] else: d[n] = i class Solution: def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ h = {} for i, num in enumerate(nums): n = target - num if n not in h: h..
갑자기 코딩인터뷰를 꼭 파이썬으로 봐야한다고 해서.. 파이썬을 리마인드 할수 있는 몇개의 사이트를 둘러봤다. 가장 먼저 생각나기도 했던, 이 사이트가 좋은것 같다. www.interviewbit.com/invite/hail-29ad Level 1 : Basics of Python Input and Output Easy 6 minutes Variables and Types Easy 6 minutes Arithmetic operators on Numbers Easy 6 minutes Arithmetic operators on Strings Easy 3 minutes Level 2 : Flow Control & Functions Conditions and If-Else Easy 5 minutes Loops a..
Island Count Given a 2D array binaryMatrix of 0s and 1s, implement a function getNumberOfIslands that returns the number of islands of 1s in binaryMatrix. An island is defined as a group of adjacent values that are all 1s. A cell in binaryMatrix is considered adjacent to another cell if they are next to each either on the same row or column. Note that two values of 1 are not part of the same isl..
BST Successor Search In a Binary Search Tree (BST), an Inorder Successor of a node is defined as the node with the smallest key greater than the key of the input node (see examples below). Given a node inputNode in a BST, you’re asked to write a function findInOrderSuccessor that returns the Inorder Successor of inputNode. If inputNode has no Inorder Successor, return null. Explain your solution..
Find The Duplicates Given two sorted arrays arr1 and arr2 of passport numbers, implement a function findDuplicates that returns an array of all passport numbers that are both in arr1 and arr2. Note that the output array should be sorted in an ascending order. Let N and M be the lengths of arr1 and arr2, respectively. Solve for two cases and analyze the time & space complexities of your solutions..
BST Successor Search In a Binary Search Tree (BST), an Inorder Successor of a node is defined as the node with the smallest key greater than the key of the input node (see examples below). Given a node inputNode in a BST, you’re asked to write a function findInOrderSuccessor that returns the Inorder Successor of inputNode. If inputNode has no Inorder Successor, return null. Explain your solution..
Decrypt Message An infamous gang of cyber criminals named “The Gray Cyber Mob”, which is behind many hacking attacks and drug trafficking, has recently become a target for the FBI. After intercepting some of their messages, which looked like complete nonsense, the agency learned that they indeed encrypt their messages, and studied their method of encryption. Their messages consist of lowercase l..
leetcode.com/problems/squares-of-a-sorted-array/ 3번으로 해야함. Given an integer array nums sorted in non-decreasing order, return an array of the squares of each number sorted in non-decreasing order. Example 1: Input: nums = [-4,-1,0,3,10] Output: [0,1,9,16,100] Explanation: After squaring, the array becomes [16,1,0,9,100]. After sorting, it becomes [0,1,9,16,100]. Example 2: Input: nums = [-7,-3,2..
Deletion Distance The deletion distance of two strings is the minimum number of characters you need to delete in the two strings in order to get the same string. For instance, the deletion distance between "heat" and "hit" is 3: By deleting 'e' and 'a' in "heat", and 'i' in "hit", we get the string "ht" in both cases. We cannot get the same string from both strings by deleting 2 letters or fewer..
download apps.ankiweb.net/ Anki - powerful, intelligent flashcards Choose a platform from the left. Download 2.1.37 was just released: Download Anki for Windows 7/8/10 (2.1.37) 2.1.35 was a previous stable release: Download Anki for 64 bit Windows 7/8/10 (2.1.35-standard) Download Anki for 32 bit Windows 7/8/10 (2.1.35-al apps.ankiweb.net deck ankiweb.net/shared/decks/interview
leetcode.com/problems/plus-one-linked-list/ Given a non-negative integer represented as a linked list of digits, plus one to the integer. The digits are stored such that the most significant digit is at the head of the list. Example 1: Input: head = [1,2,3] Output: [1,2,4] Example 2: Input: head = [0] Output: [1] Constraints: The number of nodes in the linked list is in the range [1, 100]. 0
leetcode.com/contest/weekly-contest-219 leetcode.com/problems/count-of-matches-in-tournament/ class Solution { public int numberOfMatches(int n) { int round = 0; while(n != 1) { round += n/2; n = n/2+n%2; } return round; } } 빵터짐 ㅋㅋ leetcode.com/problems/count-of-matches-in-tournament/ class Solution { public int minPartitions(String n) { int maximum = 0; for(int i = 0; i < n.length(); i++) { max..
leetcode.com/problems/palindrome-partitioning/ 백트랙킹과 리스트 구성 및 리턴 방식을 눈여겨 볼만한 문제. 시리즈 문제도 같이 풀어보자: inner-game.tistory.com/458 131. Palindrome Partitioning Medium 257384Add to ListShare Given a string s, partition s such that every substring of the partition is a palindrome. Return all possible palindrome partitioning of s. A palindrome string is a string that reads the same backward as forward. E..
Binary Indexed Tree 프리퀀시 정렬 이지가 하나도 없네 #TitleTagsAcceptanceDifficultyFrequency 315 Count of Smaller Numbers After Self Binary SearchDivide and ConquerSortBinary Indexed TreeSegment TreeGoogle 42.4% Hard 493 Reverse Pairs Binary SearchDivide and ConquerSortBinary Indexed TreeSegment TreeGoogle 26.2% Hard 218 The Skyline Problem Divide and ConquerHeapBinary Indexed TreeSegment TreeLine SweepGoogle..
frequency 로 정렬함 843 Guess the Word Minimax Google 46.4% 913 Cat and Mouse Breadth-first Search Minimax Google 33.8% 486 Predict the Winner Dynamic Programming Minimax Google 48.4% 877 Stone Game Math Dynamic Programming Minimax 66.1% 292 Nim Game Brainteaser Minimax Adobe 54.9% 375 Guess Number Higher or Lower II Dynamic Programming Minimax Google 41.6% 464 Can I Win Dynamic Programming Minimax ..
강의 업로드가 진행 중인것 같습니다. https://code.plus/notice/26 백준 알고리즘 강의 - 고급: 강의 개요 강의명: 알고리즘 고급 강사: 최백준 수강일: 결제일로부터 30일 가격: 99,000원 할인가: 99,000원 난이도: 상급 사용 언어: C++, Java 교재: pdf 파일 총시간: 1시간 54분 35초 백준 알고리즘 강의 - 고급: 강의 목차 1730 - 그래프 3 SCC, 단절점, 단절선, BCC에 대해서 알아봅니다 1740 - 네트워크 플로우 3 다양한 네트워크 플로우 문제들을 풀어봅니다. 1800 - 다이나믹 프로그래밍 6 확률/기댓값 다이나믹 프로그래밍에 대해서 알아봅니다 1810 - 다이나믹 프로그래밍 7 Knuth Optimization, Convex Hull O..
leetcode.com/problems/burst-balloons/ 312. Burst Balloons Hard 297379Add to ListShare Given n balloons, indexed from 0 to n-1. Each balloon is painted with a number on it represented by array nums. You are asked to burst all the balloons. If the you burst balloon i you will get nums[left] * nums[i] * nums[right] coins. Here left and right are adjacent indices of i. After the burst, the left and ..