노씨데브 킬링캠프 강의 자료 활용
Two Sum - LeetCodeUntitled각 문제들은 하나의 Solution 만을 가짐 → 즉, 해 구하면 바로 return 가능Untitlednums 의 길이가 10^4 이하 이므로, 투포인터 기반 완전탐색을 진행하여도 10^8 의 iteration 반복 → 1
Permutations - LeetCodenums 길이 최대 6이므로 최대 6! 의 연산모든 정수는 유니크한 값 (같은 숫자 중복 우려 x)수업에서 배웠던 재귀함수를 활용한 구현으로 접근기본 구조Untitledanswer.append(candidate:)사본을 복사해서
Combinations - LeetCodenCk 조합nCk 에서 가능한 최대 연산수는 얼마인가에 대한 고찰 (직관: nC(n/2) 정도 아닐까?)20C10 값은? → 계산기 사용불가할때 이럴땐 시간복잡도를 어떻게 계한하지? → 대충 20^10 이라고 생각해보자 → 10
Subsets - LeetCode최대 10! 의 연산 모든 원소 고유한 값이므로 중복 걱정 x기본 재귀 구조인 아래 구조를 활용자유 형식자유 형식해당 문제의 시간복잡도는 O(2^n)이며 n 범위의 최대값인 10을 대입해도 10^8을 초과하지 않습니다. 이항 정리를 통한
Word Search - LeetCode최대 6x6 matrix → 전체 36개 원소 & tree depth 최대 15시간복잡도 어떻게 계산? → 그냥 경험적으로 제약조건 숫자가 작으니 완전탐색으로 풀 수 있을것이다 라고 예상하는 것인가? → Q1강의에서 나온 기본 재
Binary Search - LeetCode리스트 길이가 최대 10^4 이므로 완전탐색해도 무리가 없음모든 원소값은 고유한 값이고 오름차순 정렬이기 때문에 바로 이진탐색을 적용할 수 있음3가지 방법으로 구현 연습반복문재귀bisect 라이브러리 활용3가지 방법으로 구현
Palindrome Partitioning - LeetCode대소문자 구분 우려 x문자 사이 파티션바가 들어갈 수 있는 위치 15군데 총 2^15 가지의 경우의 수가 있을 수 있음2^15 → 1024\*32 → 약 33,000 가짓수 → 완전탐색으로 접근 가능모든 파티
key는 M x M(3 ≤ M ≤ 20, M은 자연수)크기 2차원 배열입니다.lock은 N x N(3 ≤ N ≤ 20, N은 자연수)크기 2차원 배열입니다.M은 항상 N 이하입니다.key와 lock의 원소는 0 또는 1로 이루어져 있습니다.0은 홈 부분, 1은 돌기 부
Sudoku Solver - LeetCode반드시 하나의 답만 가지므로 중복 우려 x보드가 9\*9 로 한정되어 있으므로 굉장히 작은 숫자이므로 완전탐색으로 접근 가능성재귀로 구현시 시간복잡도 계산 어려움…그냥 단순히 스도쿠 푸는 문제임사람이 스도쿠를 어떻게 푸는지 그
N-Queens - LeetCode가장 복잡한 경우는 99 보드에 퀸 9개를 놓는 경우의 수 탐색 → 81C9 → 818079…7372 / 9! → 910 → 79787573361911 → \~~ 80^4 40 20 10 = 16001600\*8000 → 시간 초
orders 배열의 크기는 2 이상 20 이하입니다.orders 배열의 각 원소는 크기가 2 이상 10 이하인 문자열입니다.각 문자열은 알파벳 대문자로만 이루어져 있습니다.각 문자열에는 같은 알파벳이 중복해서 들어있지 않습니다.course 배열의 크기는 1 이상 10
모든 튜플은 유일한 값 → 중복에 대한 우려 x최대 20\*8 의 table릴레이션의 속성을 조합한 후, 각 튜플들이 유일하게 구분될 수 있는지 파악한다.속성의 조합 가능한 갯수는 2^8 (조합에 포함 될지,포함 안될지) 이며,각 조합에 대해서 각각의 모든 튜플들이 서
Permutation Sequence - LeetCode9! = 98. . .21 = 362,880 < 2^19완전탐색 가능문자를 받는지, 숫자를 받는지 잘 구분하는 것이 중요!아이디어1: count 를 활용한다!아이디어2: 다 구해놓고 k번째 원소를 return
Partition Array Into Two Arrays to Minimize Sum Difference - LeetCodeConstraints:1 <= n <= 15nums.length == 2 \* n107 <= nums\[i] <= 107nu
Two Sum - LeetCodeYou may assume that each input would have exactly one solution, and you may not use the same element twice.You can return the answer
Valid Parentheses - LeetCodeUntitled최대 O(n^2) 알고리즘을 사용할 수 있음괄호 종류 3개밖에 없기 때문에 룰베이스 조건문 작성 가능stack 활용괄호가 열릴때마다 짝이 맞는 닫히는 괄호를 스택에 저장열리는 괄호에 해당되지 않을때 스택에
Daily Temperatures - LeetCodeUntitledn이 최대 10^5 이라서 O(n^2) 아이디어로 풀면 안된다.최소 O(NlogN) 알고리즘을 사용해야한다.정렬? 후 O(N) ?→ 20분 정도 고민해봤는데 생각 안나서 강의 영상 봄(idx,temper
Keys and Rooms - LeetCodeUntitledn 은 최대 1000방길이 최대 n 개각 방에 있을 수 있는 키 갯수 n개전체방의 키 갯수는 3n 개큐로 BFS 구현0번방에 갔을때, 나오는키에 맞는 방먼저 탐색 → BFS 탐색모든 BFS 탐색 끝났는데 아직
길이가 같은 두 개의 큐뽑고 넣고를 통해 두 큐 합이 같게 만들기작업의 최소 횟수 구하기 → returnpop+insert 쌍이 작업 1회가능하게 하는 방법은 여러개일 수 있으나, 최소횟수를 찾는게 관건(가능한 방법이 최대 2개일까? 그 이상일까?) → 풀이 끝나고 생
Trapping Rain Water - LeetCoden 은 가로 길이, heighti 는 세로 길이가로길이 최대 2\*10^4세로길이 최대 10^5뭔가 숫자크기가 n^2 으로 풀지 말라고 얘기하는 것 같다.O(n) 으로 푸는 방법에 대해 생각해야할 것 같다.Examp
Longest Valid Parentheses - LeetCodes 길이 최대 3\*10^4 인걸로 봐서 O(n^2) 으로 풀면 안되고 그 이하 시간복잡도 가지는 알고리즘으로 풀어야 함. 선형시간 or nlogn입력값은 무조건 컬리브리킷전형적인 스택 문제0번째 부터 순
Is Graph Bipartite? - LeetCode그래프가 none 일수도 있음최대 99\*99 까지 있을 수 있음이분그래프 만들 수 있는지 없는지 묻는 문제BFS 로 이전노드가 검정이면 다음노드는 하얀색으로 칠하기만약 이미 방문한 노드를 만났는데 그 노드가 현재
이미 알고 있던 개념이라 딱히 어려운 건 없었다.
Coin Change - LeetCodeReturn the fewest number of coins that you need to make up that amount.If that amount of money cannot be made up by any combinat
도시이름 최대 20자 영문(대소문자구분x)캐시사이즈 0~30 정수도시갯수 최대 10만개가장 최근 사용 알고리즘 사용캐시힛 1캐시미스 5top 에 있을수록 우선순위가 높고 bottom 쓴게 우선순위가 낮다큐에 쌓는다근데, 캐시크기 안에서 가장 오래전에 쓰였어도, 사용횟수
단순 구현문제로 보이지만... 시간 복잡도가..?가로세로길이의 합이 최대가 될 수 있는 값 -> root(100,000) -> root(2^10100) -> root(2^17) -> 2^9 -> 512\-> 가로 또는 세로 최대 길이는 어림 512 -> 512^2 ->
Number of Islands - LeetCode300300 → 90000 네가지 방향 → 9만 4 → 36만완탐해도 시간 문제 없음dfs 던, bfs 던 뭐로 구현하던 상관없을듯bfs, queue 로 빠르게 구현어떻게 같은땅인지 다른 땅인지 구분할 것인가?1이 나오
Shortest Path in Binary Matrix - LeetCode격자 원소 갯수 최대 1만개8가지 방향 있으니 최대 연산수 8만완탐가능clear path 가 없는 경우 -1 를 return 해야함가장 최단 거리라는 보장?bfs 를 활용하여 가장 먼저 닿을때까지
14502번: 연구소상하좌우벽을 3개를 세울 수 있음바이러스가 다 퍼진 후 안전영역 크기 최댓값을 구해야함최대 8x8 매트릭스바이러스는 최대 10까지 있을 수 있음빈칸은 최소 3개굉장히 복잡한 케이스가 많고 제한 조건이 작기 때문에 완전탐색으로 해야할 것 같다우선 모든
17142번: 연구소 3연구소 크기 최대 50x50활성 가능 바이러스 갯수 최대 10개비활성 바이러스가 활성바이러스랑 만나면 활성바이러스가 됨 → 근데 어차피 그냥 지나갈수있는 길이었기 때문에 딱히 고려 안해도 됨 → 잘못된 생각임비활성 바이러스도 바이러스 칸이어서 만
13459번: 구슬 탈출네가지 동작(상하좌우)기울이는 동작을 그만하는 것은 더 이상 구슬이 움직이지 않을 때 까지이다.가장 바깥 행과 열은 모두 막혀져 있고보드의 상태가 주어졌을 때, 10번 이하로 빨간 구슬을 구멍을 통해 빼낼 수 있는지 구하는 프로그램을 작성하시오.
양의 수보다 늑대의 수가 같거나 더 많아지면 바로 모든 양을 잡아먹어 버립니다.이진트리노드는 최대 17개엣지는 최대 16개시간제한 넉넉한데 완전탐색을 고려해볼 순 없을까?→ 근데 무조건 깊이 들어가는게 아니고, 판단하에 빠져나와야하기 때문에 완전탐색을 구현하는것도 쉽지
19238번: 스타트 택시손님 클리어시 연료 이동거리의 2배 충전상하좌우 이동 가능항상 최단경로만 이동 (BFS)여러명 태우는 경우 없고, 한번에 한명만 가능태울때는 가장 빨리 태울수 있는 사람 먼저 태움같은 거리 승객이 여러명이면 더 작은 행번호 승객을 태움연료바닥과
스타트 택시 19238번: 스타트 택시 접근 방법 [필수 작성] 문제해석 손님 클리어시 연료 이동거리의 2배 충전 상하좌우 이동 가능 항상 최단경로만 이동 (BFS) 여러명 태우는 경우 없고, 한번에 한명만 가능 태울때는 가장 빨리 태울수 있는 사람 먼저
Minesweeper - LeetCode클릭했을때 각 격자값들을 상황에 맞게 변경해주는 문제클릭하는건 M 아니면 E임만약 M을 클릭하면 X 로 바꿔야함만약 E를 클릭하면 B로 바꾸고 인접한 모든 E를 B로 바꿔야함근데 만약 B가 지뢰랑 한칸내에 인접해있으면, 인접한 지
S->E 로 이동해야하는데 딱 K 번만큼가서 이동할수있는 경우가 있는지있다면, 사전 오름차순상 가장 앞에 있는 것을 출력해야함 (d l r u) -> 가능하면 이 순서대로 가야함없다면, impossible최대 50x50k는 최대 2500상하좌우 4방향같은칸 반복가능같은
0은 빈칸, 1은 벽(1,1)부터 시작회전하거나 이동할때 걸리는 벽이 없어야한다(N,N) 도착지점까지 이동하는 최단 시간을 리턴 -> BFS 로 접근가능최대 100x100 보드목적지에 도착할 수 있는 경우만 주어짐비슷하게 움직였다고 생각하더라도,로봇이 도착지점에 먼저
Untitled1\. 힙에 순차적인 데이터 삽입 시간복잡도 : O(nlogn)Untitled2\. 이미 구성된 리스트를 Heapify(Sift Down) 를 이용해 Heap 으로 만들때 시간복잡도 : O(n)UntitledUntitledUntitledReference
Network Delay Time - LeetCode특정 노드 k로 부터 전체 노드까지다 퍼져나가는 최소시간을 구하는 문제만약 다 퍼져나갈 수 없으면 -1 을 리턴노드는 최대 100개엣지는 최대 6000개자기자신을 가리키는 엣지는 없음가중치는 0~100중복엣지 없음전형
LeetCode - The World's Leading Online Programming Learning Platform전형적인 위상정렬 문제prerequisitesi = ai, bi 이 주어지는데ai 가 더 어려운 과목bi 가 더 쉬운 과목b를 수강해야 a를 수강할
https://school.programmers.co.kr/learn/courses/30/lessons/42627작성을 마치신 후 상태를 변경해 주세요!Untitled적절히 작업건들을 배치하여서평균작업완료대기시간의 최소시간을 구하는 문제소수점 이하의 수는 버림
https://leetcode.com/problems/smallest-range-covering-elements-from-k-lists/editorial/각 리스트내의 원소를 최소하나는 포함하게끔 만드는 최소 범위를 찾아라근데, 만약 범위크기가 같으면,시작위치
https://leetcode.com/problems/path-with-maximum-probability/description/start 부터 end까지 가는 동안에각 weight 들을 곱해서 최대가 되는 weight 를 리턴만약 갈 수 있는길이 없으면 0
https://leetcode.com/problems/trapping-rain-water-ii/description/우물을 찾아라최대200x200최소 1x1최대 높이 2x10^4 -> 높이 직접 하나씩 일일이 세지 말라는 의미, 한번에 받아서 해라물이 차기 위
https://school.programmers.co.kr/learn/courses/30/lessons/118669출입구-산봉우리-출입구 순으로 만들 수 있는 길 중경로상 가중치가 가장 작은 길을 찾아야됨노드는 최대 5만개엣지는 최대 20만개노드번호는 1번부터
https://leetcode.com/problems/course-schedule-ii/description/과목을 들어야하는 순서의 리스트를 리턴가능한 경우가 여러개면 가능한 경우수 중 아무거나 리턴졸업하는게 불가능하면 빈리스트를 리턴과목수는 최대 2000개
https://leetcode.com/problems/reachable-nodes-in-subdivided-graph/description/무방향 그래프0~n-1 노드cnt 에 따라서 특정엣지위에 노드를 cnt 갯수만큼 생성했을때노드0번에서 maxMoves 안
https://school.programmers.co.kr/learn/courses/30/lessons/72413최저이동경로다익스트라로 구현s 에서 a를 먼저갔다가 a 에서 b 가는 경우 -> case1s 에서 b를 먼저갔다가 b 에서 a 가는 경우 -> ca
자바에서는 Hashmap파이썬에서는 Dictionary 라고 표현키 값으로 Int 형 뿐만아닌 String 타입도 줄 수 있다.키값 자체가 바로 인덱스 값을 지칭하는 테이블 문제점 학번을 키값으로 하여 바로 인덱스를 저장한다고 하면, 메모리의 낭비가 발생 (0번,1번,
https://leetcode.com/problems/two-sum/description/특정 인덱스의 두 원소를 더한 값이 Target 이다.리스트와 target 이 주어지면 target 을 만들 수 있는두 원소의 인덱스값을 리스트형태로 출력리스트최대길이 1
https://leetcode.com/problems/longest-consecutive-sequence/description/리스트 내 원소로 만들 수 있는 가장 긴 원소배열을 출력길이 최대 10^5 -> 무조건 O(n) 내에 풀어라연속하다는것은 무엇을 의미
https://school.programmers.co.kr/learn/courses/30/lessons/72410단순 문자 시뮬레이션 문제그냥 단순 시뮬레이션 문제문제 주어진 조건 그대로 구현새롭게 알게된 내장함수str.isalpha() → 알파벳인지 판별st
https://school.programmers.co.kr/learn/courses/30/lessons/60057문자길이가 n일때앞에서부터 순서대로 n개씩 잘랐을때가장 짧아진 길이문자길이 최대 10^3그냥 리스트 슬라이싱 활용해서1개로 잘랐을때부터 n//2 개
https://school.programmers.co.kr/learn/courses/30/lessons/92334작성을 마치신 후 상태를 변경해 주세요!UntitledUntitled1인당 신고제한은 없음단, A->B 여러번신고시 누적은 1회 만신고당한사람 카운
https://leetcode.com/problems/group-anagrams/description/작성을 마치신 후 상태를 변경해 주세요!문자를 재배치해서같아질 수 있는 단어를 그룹으로 묶어라단어 갯수 최대 10^4 개 -> O(N) 또는 O(NlogN)
https://school.programmers.co.kr/learn/courses/30/lessons/150370자유 형식이미 3번이나 풀었던 문제라서 그냥 바로 구현시작확실히 여러번 풀면 실력이 늘긴 느는듯.코드가 훨씬 깔끔하고 구현시간도 줄었음.댓글로 또
https://leetcode.com/problems/longest-substring-without-repeating-characters/description/s 내에서 중복글자 없이 가장 길게 만들 수 있는 문자열무조건 O(n) 또는 O(nlogn) 으로 풀
LeetCode - The World's Leading Online Programming Learning Platform계단 높이가 n일때 1스텝 2스텝 중 선택할 수 있을때가능한 경우의 수n = 45case1 -> 1case2 -> 2case3 -> case1 + c
LeetCode - The World's Leading Online Programming Learning Platform0번째칸이나 1번째칸에서 출발할 수 있음각 칸에서의 비용을 내고 1칸이나 2칸 갈 수 있음끝까지 가는데 최소비용을 구하는 문제길이는 2~10001차
LeetCode - The World's Leading Online Programming Learning Platform자유 형식아래와 오른쪽으로만 움직이는 로봇이MxN 매트릭스에서 도착지점까지 가는 방법의 가짓수최대 100x100 매트릭스d가 m개 r이 n개 있을때섞
https://leetcode.com/problems/minimum-window-substring/description/t의 원소들을 포함하는s내의 최소길이의 substring문자열 길이 1~10^5\-> nlogn 아니면 n 만에 풀어라알파벳 소문자1차 아이
https://leetcode.com/problems/substring-with-concatenation-of-all-words/description/문제풀이, 해설이해까지 총 3시간 소요words 에 있는 모든 word의 순열조합의 시작 인덱스를 찾아서 반환
LeetCode - The World's Leading Online Programming Learning Platform자유 형식현재 위치꺼 버리고 현재위치-1 번째 꺼 저장할래?아니면 현재위치꺼랑 현재위치 - 2 번째꺼 합쳐서 저장할래?그렇게 끝까지 쭉 한다음 마지막
LeetCode - The World's Leading Online Programming Learning Platform가장 적은수의 코인갯수로 amount 만들기코인갯수 1~12개전형적인 메모이제이션 문제각 level(또는 height)에서 BFS로 선택가능한 코인을
https://school.programmers.co.kr/learn/courses/30/lessons/72414총영상길이와 광고영상길이가 있고,시청시간이 있을때,광고를 특정 시작시각에 배치했을때누적광고시청시간이 가장 높은 시작위치를 찾는 문제시청시간 갯수는
LeetCode - The World's Leading Online Programming Learning Platform합이 가장 큰 부분배열의 합을 리턴무조건 O(n) 또는 O(nlogn) 으로 풀어야한다.두개의 l,r 포인터를 양쪽끝에서부터 하나씩 줄여가면서 dfs
LeetCode - The World's Leading Online Programming Learning Platform순차적으로 초과하는 숫자로 이루어진가장긴 리스트의 길이 리턴O(n^2) 이하로 풀어라DFS 를 이용해서 다음 노드로 진행 가능할경우에 진행캐시를 이용
LeetCode - The World's Leading Online Programming Learning Platform1로 채워진 가장 큰 정사각형의 넓이를 구해라최대 300x300 매트릭스입력값은 0,1 로 제한열 행 기준으로 이중 포문 탐색(i,j )를 탐색할때
LeetCode - The World's Leading Online Programming Learning Platform일부 글자를 빼서 같아질 수 있는 가장 긴 부분글자순열아예 없으면 0 리턴두 문자열 각 길이 최대 1000 = 10^330분 고민해봤는데 모르겠어서
작성을 마치신 후 상태를 변경해 주세요!UntitledLeetCode - The World's Leading Online Programming Learning Platformi번째 작업하려면 그 이전작업 다 끝내야가능하루에 한개 이상 해야됨매일 최대 난이도를 합한게 총
내 질문알고리즘만 재밌으면 어떡하나SQL공부 중요도?JS이력서 예시빅데이터 처리 역량빅테크 기술블로그어떤 문제들을 풀고있는지 같이 고찰토스는 서류제출이 간단해서 굉장히 좋다.백엔드 공부 백엔드 로드맵근데 토스증권(토스) 넣자마자 서류 광탈이유가 뭐고 어떤걸 보완해야할지