
문제:H-IndexH-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다.어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문

문제 설명n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 1, 1, 1, 1, 1로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다.\-1+1+1+1+1 = 3\+1-1+1+1+1 = 3\+1+1-1+1+

다리를 지나는 트럭darklightsublimevimemacs Python3 문제 설명트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_l

전화번호 목록문제 설명전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다.전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다.구조대 : 119박준영 : 97 674 223지영석 : 11 9552 4

더 맵게문제 설명매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다.섞은 음
문제 설명점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를

네트워크네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있
문제 설명스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다.예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다.종류
문제 설명수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다.1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...2번 수포
문제 설명어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다.예를 들어, 숫자 1924에서 수 두 개를 제거하면 19, 12, 14, 92, 94, 24 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다.문자열 형식으로 숫자 n
문제 설명1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요.소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다.(1은 소수가 아닙니다.)제한 조건n은 2이상 1000000이하의 자연수입니다.입출력 예n result1
문제 설명배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.예를 들어 array가 1, 5, 2, 6, 3, 7, 4, i = 2, j = 5, k = 3이라면array의 2번째부터 5번째까지 자르면 5, 2, 6
문제 설명일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업

문제 설명Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다.Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하

opleft() 메소드는 왼쪽에서(index=0)에서 꺼낸다라고 직관적으로 이해하면 더 쉽습니다 :)

문제 설명무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다.예를 들어, 사람들의 몸무게가 70kg, 50kg, 80kg, 50kg이고 구명보트의 무게 제한이 100kg이라면 2
소수 찾기문제 설명한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다.각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return

문제 설명 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. words에 있는 단어로
get(a, b) : 첫번째 인자에 해당 찾고 싶은 딕셔너리 key 값 입력하고, 두번째 인자에는 첫번째 인자가 없을 경우 출력하고 싶은 값 입력. key값의 value 값 출력GET 함수딕셔너리의 get(x) 함수는 x라는 key에 대응되는 value값을 돌려준다.만

문제 설명 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를들어 0ms 시점에 3ms가 소요되는 A작업 요청 1ms 시점에 9ms가
문제 설명n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다.처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로

문제 설명위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이

문제 링크 : https://www.acmicpc.net/problem/2609처음에 유클리드 호제법을 적용하지 않고 구현을 해보았다.초기에 짠 코드:출력해보니 18,24 나옴구글링해서.. 찾은 코드.....그리고 찾다보니 유클리드 호제법..? 이라는 것이 나

문제 링크 : https://www.acmicpc.net/problem/1292 c=[] 이면 그냥 빈 배열 만들어진다.. 여기에 ex 1,2,3,4를 넣는다고 하면 c=[1,2,3,4] 이렇게 만들어짐 c=[0]이면 0이 들어가있는 배열이 만들어짐 똑같이 여기에

문제 링크 : www.acmicpc.net/problem/2294처음에 그리드를 이용해아 하는줄 알았지만.. 그렇게 되면 12,1,1,1로 동전 4개를 쓰게 되므로써 5,5,5 보다 동전을 1개 더 쓰게 된다.따라서 dp를 써야한다.동전1과 문제가 어느정도 비슷한 느낌

문제 링크 : https://www.acmicpc.net/problem/2606문제신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다.예

Two Sum Easy 29807 939 Add to List Share Given an array of integers nums and an integer target, return indices of the two numbers such that they a
문제 링크 : https://leetcode.com/problems/palindrome-number/맨 처음에 반을 정해서 이분탐색..?을 할까 생각하다 실패..그리고 생각(찾은)방법이 x를 거꾸로 한 값이 x와 같은지 확인한다결과 : 이후 수정된 코드대충 :
문제 링크 : https://leetcode.com/problems/remove-duplicates-from-sorted-array/ ㅁ
문제 링크 : https://leetcode.com/problems/remove-element/이전에 풀었던 문제와 비슷한 문제이다..nums 배열과 숫자(int) val이 주어질 때, nums에서 val을 제외한 나머지 배열이 얼마나 있는지 구하는 문제이다.
링크 코드 : https://leetcode.com/problems/search-insert-position/생각보다 어려운 문제는 아니었다(당연함.easy임)문제에 있는 조건들과 테스트 케이스들을 보고 구현하면 되는 문제였다.먼저 크게 1.target이 nu
문제 링크 : https://leetcode.com/problems/subsets/문제 난이도가 Medium인것 치고는 구상하는데 어렵지는 않았다.nums의 배열을 nums배열을 0부터 nums배열의 수만큼 파이썬 내부의 combinations함수를 이용하여
문제 링크: https://leetcode.com/problems/container-with-most-water/ 이해하느라 최종적으로 한 두세시간을 쓴 문제.. 이 문제에서 특징은 가로(너비..?)는 크면 클 수록 좋고, 높이는 물이 넘치지 않게 하기 위해
문제 링크 : https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/처음에 그냥 문제 대충 읽고 첫번째 테.케보고 아 타겟이랑 같으면 idx번호 리턴하면 되겠구
문제 링크 : https://leetcode.com/problems/permutations/해설쓰는것도 조금 민망할만큼 쉬운 문제이다...파이썬 내부의 permutations를 이용하면 쉽게 풀 수 있다.아마 내부 함수를 활용하지 않고 for문을 이용하여 직접
문제 링크 : https://leetcode.com/problems/majority-element/nums배열에서 해당 배열이 과반 넘게 있다면 return하는 간단한 문제이다파이썬 내부의 counter함수를 이용하여 풀 수 있다.Runtime: 164 ms,
문제 링크 : https://leetcode.com/problems/climbing-stairs/n을 1,2를 이용하여 나눌 수 있는 경우의 수들을 구하는 문제이다.n=3을 예로 들었을 때 1과 2로 만들 수 있는 경우의 수들을 구하는 문제이다..전에 풀었던
문제 링크 : https://leetcode.com/problems/maximum-depth-of-binary-tree/사실 문제 의도를 잘 모르겠는데.. 맨 아래노드(=leaf node)까지 내려간 뒤에 하나씩 올라오며 깊이를 세는 로직이다. 자식노드가 없는
문제 링크 : https://leetcode.com/problems/binary-tree-inorder-traversal/처음에 테.케만 보고 그냥 배열에 넣으면 되는 줄 알았는데..결과: 구글링을 했는데트리 순회 방식중에서 in-order방식을 활용하여 탐색
문제 링크 ; https://leetcode.com/problems/move-zeroes/처음에 문제를 보고 간단하게 nums를 탐색한 뒤 0이 발견되면 없애고 뒤에 0을 append 하는 방식으로 코드를 작성해보았다그런데 Run Code를 눌러서 0,1,0,
문제 링크 : https://leetcode.com/problems/single-number/처음에 일단 중복된 배열들을 제거.. 하거나.. 하튼 어떻게 처리해야겠다 라는 생각은 했는데..아무리 생각해도 안떠오름..그래서 discussion을 봤는데.. 비트
문제 링크 : https://leetcode.com/problems/best-time-to-buy-and-sell-stock/배열이 주어지고 가장 많은 차익을 낼 수 있을때, 차익을 구하는 문제이다.근데 단순히 배열에서 가장 큰 수 - 가장 작은 수 로만 따지
문제 링크 : https://leetcode.com/problems/diameter-of-binary-tree/최대 경로의 수를 구하는 문제인데 마지막 노드부터 거슬러 올라가며 구하는 문제인데 dfs와 이진탐색을 이용하여 구하는 문제이다.아졸려ㅛ2) 마지막 노
문제 링크 : https://leetcode.com/problems/reverse-linked-list/연결 리스트(Linked List)를 역순으로 정렬하는 것을 묻는 문제이다.아래에 해당 풀이는 재귀로 푼 풀이이다.node.next를 이전 prev 리스트로
문제 링크 : https://leetcode.com/problems/symmetric-tree/왼쪽 노드와 오른쪽 노드를 비교하는 문제이다..트리 문제는... 풀어도 풀어도 낯설어....
문제 링크 : https://leetcode.com/problems/invert-binary-tree/왼쪽 노드와 오른쪽 노드의 값을 바꾸는 문제이다recursive재귀적으로 생각해서 현재 트리의 좌측과 우측을 구한다음 그것을 현재 트리의 좌측-우측, 우측-좌
문제 링크 : https://leetcode.com/problems/maximum-subarray/연속되는 subarray 중에서 가장 큰 합을 가지는 subarray를 찾아서 합을 리턴하라.dp를 이용하여 풀 수 있다.....numsi = max(numsi-
문제 링크 : https://leetcode.com/problems/palindrome-linked-list/연결 리스트(Linked List) 가 palindrome(=회문(回文: madam이나 nurses run처럼 앞에서부터 읽으나 뒤에서부터 읽으나 동일
문제 링크 : https://leetcode.com/problems/partition-labels/주어진 배열이 partition (ex. 1234156 을 예로 들자면 1234156을 나누었을때 겹치는 글자가 없이 나누어야한다(라고 대충 이해를 함)\-> 1
문제 링크 : https://leetcode.com/problems/kth-largest-element-in-an-array/kth largest element를 반환하는 문제이다.문제 난이도는 medium인데 생각보다 어렵지는 않게 풀었다먼저 sort를 이용
문제 링크 : https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/배열이 sorted 되어있을 때 , 배열의 합이 target과 같을 때 배열의 idx를 반환하는 문제이다.처음에 배열을 일일이 더해봐

문제 링크 : https://leetcode.com/problems/linked-list-cycle/사이클인..? 링크드 리스드면 True를 반환하는 문제이다.그뭐냐만약에 노드가 cycled이라면 앞에 먼저 fast가 순환하고 그 뒤에 slow가 순환할 때 둘
문제 링크 : https://leetcode.com/problems/combination-sum-ii/순서대로 정렬되지 않은 candidates가 있을 떄,각 합이 target이 될 수 있도록 묶는 문제이다.주어진 리스트의 요소를 통해 target을 만들어야합
문제 링크 : https://leetcode.com/problems/counting-bits/주어진 n까지의 범위에서 이진수로 바꾸었을 떄 1의 개수들을 반환하는 문제이다.. 처음에 일일이 환산한 뒤 result에 append 할까 생각했다가 Follow u
문제 링크: https://leetcode.com/problems/reverse-string/주어진 문자열들을 역순으로 정렬하면 되는 문제이다.유의할 점은 You must do this by modifying the input array in-place wit
문제 링크 : https://leetcode.com/problems/plus-one/digits 배열이 주어질 때 +1을 더한 수를 반환하는 문제이다.먼저 첫번째로 멘 마지막 배열이 9보다 작을 때는 맨 마지막 배열에 +1을 해주면 된다.두번째로 9같은 경우
문제 링크 : https://leetcode.com/problems/contains-duplicate/nums배열이 주어진 후 같은 숫자가 있으면 True, 없다면 False를 반환하는 문제이다..우선 nums를 오름차순으로 정렬한 뒤, 정렬이 되면 같은 값이
https://leetcode.com/problems/rotate-image/주어진 matrix를 90도 돌려서 반환하는..? 문제이다문제를 풀기 위해서는 ex.matrix = \[1,2,3,4,5,6,7,8,9] 이 주어질 때맨 뒤에서부터 첫번쨰 배열부터 반

문제 링크 : https://leetcode.com/problems/pascals-triangle/Pascal's triangle .. 라는 것을 만드는 문제이다.Pascal's triangle이란?In Pascal's triangle, each number
문제 링크 : https://leetcode.com/problems/fizz-buzz/주어진 숫자 n까지의 범위 내에서 (ex. n=15면 1~15 까지의 범위)3의 배수가 나오면 'Fizz',5의 배수가 나오면 'Buzz',15(3&5의 공배수)가 나오면 '
문제 링크 : https://leetcode.com/problems/missing-number/주어진 배열에서 빠진 숫자를 찾는 문제이다.주어진 범위를 더한 값에서 주어진 배열의 합을 뺴면 문제를 쉽게 풀 수 있다Runtime: 204 ms, faster th
문제 링크 ; https://leetcode.com/problems/letter-combinations-of-a-phone-number/주어진 다이얼(digits)로 조합할 수 있는 문자열들의 조합을 반환하는 문제이다모든 경우의 수를 전부 고려하는 백트래킹 알
문제 링크 : https://leetcode.com/problems/roman-to-integer/주어진 로마자를 (아라비아)숫자로 반환하는 문제이다.IV(4)를 예로 들면V(5)-I(1)을 하여 4가 되는 원리를 아용하여 풀었다.주어진 로마자 S를 역순으로
문제 링크 : https://leetcode.com/problems/same-tree/두 개의 binary tree p와 q가 주어질 때, 둘이 같으면 true를 반환하는 문제이다.오늘 풀면서 안 사실 :return p is q= True if p==None
문제 링크 : https://leetcode.com/problems/sort-colors/(간단하게 0,1,2를 오름차순으로 배열하는 문제이다첨에 테스트케이스 보고 "ㅋㅋ 걍 sort로 정렬하면 되는거 아님?" 이라고 생각해서class Solution:
문제 링크 : https://leetcode.com/problems/group-anagrams/초기에 문자끼리 비교를 어떻게 해야할지 고민하다가 배열을 뭐 새로 맘들어서.. 비교를 해야하나 좀 어려웠는데 오름차순으로 정렬하여 비교하는 방법이 있다는 것을 깨달았
문제 링크 : https://leetcode.com/problems/find-peak-element/간단하게 설명하면 peak element의 인덱스를 반환하는 문제이다.peak element란 :Peak Element : 봉오리처럼 우뚝 솟아있는 요소단순히
문제 링크 : https://leetcode.com/problems/valid-anagram/두 문자열 s와 t가 서로 anagram이면 true, 아니면 False를 반환하는 문제이다.anagram이란? 한 단어의 철자를 분해해 다른 단어, 혹은 다른 문장으
최대 1주의 주식만을 소유할 수 있고 주식을 팔고 당일에 바로 다시 살 수 있으므로 주식을 사고 이익이 발생하면 바로 팔 때 최대의 수익을 내는 문제이다.nums를 탐색하며 탐색하는 숫자보다 더 큰 숫자가 있으면 빼서 나오는 차익들을 더하면 되는 문제이다.첨에 테.케1
문자열에서 가장 첫번째 unique값을 구하는 문제이다.처음에 문자열을 탐색하며 나머지값들과 비교했을 때 unique값이면 break를 하도록 코드를 짜 보았는데"a,a,b,b"애서 막힘그래서 다시 수정에 수정에 수정을 더해서.. 한 결과Runtime: 670 ms,
https://leetcode.com/problems/intersection-of-two-arrays/nums1과 nums2를 비교하여 겹치는 값을 반환하는 문제이다처음은 nums1을 탐색하면서 nums1의 값이 nums2에 있는지 탐색하는 방법으로 풀었다.참
문제 링크 : https://leetcode.com/problems/intersection-of-two-arrays-ii/앞서 풀어봤던 문제에 이어서 nums1과 nums2에서 겹치는 숫자를 리턴하는 문제이다.이전 문제와 다른점은 중복된 숫자도 다 출력해야 한
문제 링크 : 1480. Running Sum of 1d Arraynums의 합..? 대로 반환하는 문제이다.Runtime: 63 ms, faster than 38.18% of Python3 online submissions for Running Sum of 1d Ar
문제 링크 : https://leetcode.com/problems/remove-duplicates-from-sorted-list/정렬된 리스트에서 겹치는 숫자들이 있을떄노드를 탐색하면서 현재노드와 다음 노드의 값이 같은경우 현재노드의 다음노드를 다다음노드로
문제 링크 : https://leetcode.com/problems/excel-sheet-column-number/A-Z까지 1-26으로 해놓고(?) AA부터는 27부터해서 반환하는..? 문제이다.A를 기준으로 파이썬의 ord()함수를 이용하여 반환하는 방법이
문제 링크 : https://leetcode.com/problems/add-digits/주어진 num을 한자리수가 될때까지 계속 더하면서 값을 반환하는 문제이다.처음에 nums의 각 숫자들을 하나씩 탐색하면서 한자리 숫자가 나올때가지 반복하는 방법을 생각했는데
문제 링크 : https://leetcode.com/problems/find-the-duplicate-number/중복된 숫자를 찾는 문제이다.가장 간단하게 풀 수 있는 방법은 먼저 nums를 정렬해준 뒤, 옆의 숫자와 비교하며 중복된 숫자를 찾는 방법이 있다
문제 링크 : https://leetcode.com/problems/generate-parentheses/괄호를 결합할 수 있는 경우의 수 ..? 를 구하는 문제이다.해당 문제를 푸는데 있어서 중요한 포인트는 두가지 이다.1.주어진 n만큼 열린 괄호와 닫힌 괄
문제 링크 : https://leetcode.com/problems/contains-duplicate-ii/
문제 링크 : https://leetcode.com/problems/is-subsequence/s와 t가 주어질 때 s가 t의 subsequence면 true, 아니면 false를 반환하는 문제이다.초기에 풀었다가 실패한 코드이후 수정을 했던 2차코드...실패
문제 링크 : https://leetcode.com/problems/pascals-triangle-ii/저번에 풀었던 파스칼문제와 연관된 문제이다.파스칼의 삼각형에서 주어진 RowIndex에 해당하는 인덱스의 값을 반환하는 문제이다.이전에 풀었던 pascal'
문제 링크 : https://leetcode.com/problems/find-the-difference/s와 t가 주어질 때 t 안에서 s에 없는걸 찾는 문제이다.먼저 s,t를 정렬하고 탐색하면서 다른 점을 찾는다.s의 범위만큼 탐색하면서 만약에 범위 내에서
문제 링크 : https://leetcode.com/problems/ransom-note/magazine에 있는 글자들로 ransomNote 를 만들수 있으면 true 없으면 false를 반환하는 문제이다.파이썬 내부의 counter함수를 이용하여 풀었다.ra
문제 링크 : https://leetcode.com/problems/kth-largest-element-in-an-array/주어진 nums에서 단 하나의 숫자를 찾는 문제이다.처음에는 간단하게 count함수를 이용하여 찾는 방법을 이용해보았다.그렇지만 Run
문제 링크 : https://leetcode.com/problems/third-maximum-number/주어진 nums에서 세번째로 큰 숫자를 반환한다.만약에 세번쨰로 큰 숫자가 없다면 가장 큰 숫자를 반환한다.주어진 조건대로 구현한다면 어렵지는 않은 문제였
문제 링크 : https://leetcode.com/problems/maximum-points-you-can-obtain-from-cards/배열의 양 끝 숫자 중 하나를 포함하는 길이 k의 연속된 부분 배열 중 그 합이 최대가 되는 부분 배열을 찾는 문제이다
문제 링크 : https://leetcode.com/problems/queue-reconstruction-by-height/사람의 배열이 제공됩니다 (반드시 순서가 아님). 각 사람 i = hi, ki는 높이 hi의 i 번째 사람을 나타내며, 현재 사람 앞에
문제 링크 : https://leetcode.com/problems/find-subsequence-of-length-k-with-the-largest-sum/주어진 배열에서 k 개의 subsequece 중에서 그 합이 가장 큰 조합을 출력하라. 기존 배열의 순
문제 링크 : https://leetcode.com/problems/isomorphic-strings/isomorphic 한지 판단하는 문제.뭐 대충 각 글자끼리 매칭..?이 되는지 묻는 문제인데 첨에는 set()을 이용하여 중복을 제거하고 s와 t의 문자의
문제 링크 : https://leetcode.com/problems/word-pattern/이전에 풀었던 Isomorphic Strings와 매우 흡사한 문제이다.그래서 이정네 풀었던 것을 이용하여 풀었는데 왜인지 계속 틀렸다고 뜨길래 왜인지 봤더니 알고보니
문제 링크 : https://leetcode.com/problems/longest-consecutive-sequence/연속된 숫자들 중 가장 긴 숫자들으 ㅣ개수를 구하는 문제ex.nums = 100,4,200,1,3,21,2,3,4->4개100 -> 1개20
문제 링크 : https://leetcode.com/problems/ugly-number/소인수가 2,3또는 5로만 이루어졌으면(=Ugly Number) True, 아니면 False를 반환한다.이전에 소인수분해문제를 풀어봤지만 이번 문제는 어려웠다.20(Ugl
문제 링크 : https://leetcode.com/problems/arranging-coins/(코.테에 수학문제 그만내)코인을 1개,2개,3개씩 열을 만들면서 가장 마지막의 완전한 열을 반환하는 문제이다.코인의 개수를 1개, 2개씩 증가해가면서 주어진 n에
문제 링크 : https://leetcode.com/problems/house-robber/submissions/초기에 문제를 잘못 이해하고 푼 코드(그냥 한 집 건나 하나 더해서 풀면 되는줄)결국 실패한 테.케Input2,1,1,2Output3Expecte
문제 링크 : https://leetcode.com/problems/fibonacci-number/아주아주 간단한 dp문제이다사실 이미 점화식이 주어져있어서 그걸 그대로 구현하면 되는 문제이다.F(0) = 0, F(1) = 1F(n) = F(n - 1) + F
문제 링크: https://leetcode.com/problems/binary-search/처음에 실패한 테케..(사실 아직도 왜..? 실패했는지 모르겠다네요..)다시 풀어봄..해당 문제에서 정렬되어 있다고 있으므로 binary serach를 이용하여 풀 수
문제 링크 : https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/주어진 매트릭스에서 k번째로 큰 수를 찾는 문제이다.단순히 주어진 배열에서 n번째로 큰 수를 찾는건 어렵지않으나 2차원배
문제 링크 : https://leetcode.com/problems/jewels-and-stones/jewels = "aA", stones = "aAAbbbb"stones안에 jewels가 얼마나 있는지 카운트 하는 문제이다.초기에 푼 문제..2중 for으로

문제 링크 : https://leetcode.com/problems/product-of-array-except-self/해당 배열을 제외한 나머지 배열들을 곱한 값들을 반환하는 문제이다.해당 문제를 풀 수 있는 방법(원리)중에 하나로 prefix(앞에서부터)
문제 링크 : https://leetcode.com/problems/min-cost-climbing-stairs/계단 하나를 오를때 비용이 발생하고, 한번에 하나 혹은 두개의 계단을 오를 수 있다.10, 15, 20 이면 15만 지불하고 모든 계단을 다 오를
문제 링크 : https://leetcode.com/problems/last-stone-weight/주어진 stones배열에서 가장 큰 수-가장 작은 작은 수 의 값을 계속 계산한다.그리고 마지막값을 반환한다.갠적으로 heapq연습하기 좋은 문제.. 라고 생각
문제 링크 : https://leetcode.com/problems/daily-temperatures/일일 온도 T 목록이 주어지면 입력의 각 날짜에 대해 더 따뜻한 온도까지 기다려야하는 일 수를 알려주는 목록을 반환합니다. 이것이 가능한 미래 날이 없으면 대
문제 링크 : https://leetcode.com/problems/baseball-game/배열 ops가 주어졌을 때 아래와 같은 규칙이 주어진 후, 이후 최종 합을 구하는 문제이다.An integer x - Record a new score of x."+"
문제 링크 : https://leetcode.com/problems/unique-email-addresses/문제에서 요구하는 건 주어진 rule에 맞게 local name을 바꾸고, domain name과 결합해 forward되는 고유한 이메일 주소의 개수를
문제 링크 : https://leetcode.com/problems/search-in-rotated-sorted-array/오름차순으로 정렬된 배열이 특정 지점에서 회전되어 있다고 가정하자. 회전하는 축은 알려져있지 않다.(예를들어 배열 0, 1, 2, 4,
문제 링크 : https://leetcode.com/problems/largest-number/주어진 nums를 조합혀여 가장 큰 수를 만드는 문제이다for i, n in enumerate(nums): numsi = str(n)우선 각 목록
문제 링크 : https://leetcode.com/problems/maximum-product-subarray/문제 설명정수 배열 nums가 주어질 때, 가장 큰 곱 값을 갖는 연속적인 하위 배열을 return 하는 문제이다. 이때, 하위 배열의 요소들은
문제 링크 : https://leetcode.com/problems/can-place-flowers/꽃을 심을 수 있는가?에 대한 문제이다조건 : 양 옆이 비어있어야 한다(0,0,0- > 가운데 0 자리에 심을 수 있음)그런데 001 같은 경우 0번째 인덱스에
문제 링크 : https://leetcode.com/problems/jump-game/주어진 배열 nums에서 각 요소들은 점프할 수 있는 최대 길이를 나타낸다.만약 마지막 인덱스까지 도달할 수 있으면 True, 없으며 False 반환예를 들어 nums = 2
문제 링크 : https://leetcode.com/problems/jump-game-ii/주어진 배열 nums에서 마지막 인덱스까지 도착할 수 있는 최소 이동 횟수를 구하는 문제이다.예를 들어 nums = 2,3,1,1,4 이 주어졌을 떄일단 맨 처음 2부터
문제 링크 : https://leetcode.com/problems/find-pivot-index/Pivot 인덱스를 찾는 문제이다.Pivot index란 어떤 해당 인덱스를 기준으로 왼쪽의 합과 오른쪽의 합이 같은 곳의 인덱스를 말한다.예를 들어 Ex.nus
문제 링크 : https://leetcode.com/problems/longest-increasing-subsequence/주어진 배열에서 가장 길게 증가하는 숫자의 수..?를 구하는 문제이다.예를 들어 1,2,4,3가 있으면\->1,2,3이나 1,2,4 3개
문제 링크 : https://leetcode.com/problems/house-robber-ii/ house robber에 이어서 house robber2에서는 첫번쨰 집과 맨 끝 집이 이어져있다는 조건 \-> 첫번째 숫자와 마지막 숫자를 동시에 선택 불가능
문제 링크 : https://www.lintcode.com/problem/920/주어진 intervals에서 미팅의 시작시간과 끝나는 시간 start와 end가 주어진다.(\[s1,e1,s2,e2,...])만약 모든 미팅에 참여할 수 있으면 True, 그렇지
문제 링크 : https://leetcode.com/problems/squares-of-a-sorted-array/오름차순으로 주어진(=non-decreasing) 배열 nums의 숫자들을 제곱하여 이를 오름차순으로 반환하는 문제이다그렇지만 Follow up:
문제 링크 : https://leetcode.com/problems/insert-interval/주어진 intervals에 새 interval를 삽입해야 한다해당 문제는 new interval의 범위가 Intervals의 범위가 겹치는지/안겹치는지로 나누어 생
문제 링크 : https://leetcode.com/problems/non-overlapping-intervals/ overlapping하는 intervals을 없애는 가장 최소한의 개수를 반환하는 문제이다return the minimum number of i
문제 링크 : https://leetcode.com/problems/non-decreasing-array/nums에서 하나만의 숫자를 바꾸어서 감소하지않는 배열 (Non-decreasing Non-decreasing Array)이면 true 아니면 False를
문제 링크 : https://leetcode.com/problems/132-pattern/주어진 배열 nums가 132패턴을 따르면 true 아니면 False를 반환하는 문제이다.1,3,2 패턴을 만족하기 위해서는 예를들어 i,j,k가 있으면 i가 작은 수 j
문제 링크 : https://leetcode.com/problems/koko-eating-bananas/주어진 배열의 각 요소는 바나나의 개수를 뜻하고 h시간안에 다 먹을 수 있는 가장 적은 수의 바나나 먹는 속도 k를 반환해 주면 됩니다.예를 들어 piles
문제 링크 : https://leetcode.com/problems/multiply-strings/두 두 개의 nums1 과 nums2를 곱하는 문제이다내장된 함수를 쓰면 안된다는 조건이 있다.123 456 을 예로 들어보자.한자리 수 씩 곱하는 경우 최소
https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/description/정렬된 리스트 nums에서 target이 있을떄 첫번째와 마지막 인덱스를 반환하는 문
문제 링크 : https://leetcode.com/problems/subsets-ii/description/'중복되지 않는'subset을 반환하는 문제이다중복되지 않게 반환하기 위해서는 1,2,2,3의 경우 2가 이미 반환된 경우 그 다음 2를 스킵해야한다.
문제 링크 : https://leetcode.com/problems/number-of-islands/description/주어진 grid에서 island(1이 모여있는거)가 몇개 있는지 묻는 문제이다.grid를 탐색하며 만약에 1이면 주변에도 1인지 탐색하는
문제 링크 : https://leetcode.com/problems/repeated-dna-sequences/description/주어진 s에서 반복되는 dna를 찾는 문제이다.(dna는 10글자로 이루어져있음)주어진 s를 10글자씩 쪼개서 seen에 add해
문제 링크 : https://leetcode.com/problems/continuous-subarray-sum/description/nums에서 연속적인 숫자의 합이 nums의 배수가 될 수 있으면 true 아니면 false를 반환한다.예를 들어 nums =
문제 링크 : https://leetcode.com/problems/rotate-array/description/주어진 K만큼 배열의 요소를 오른쪽으로 shift하는 문제이다. in-place 공간을 활용하여 문제를 풀어야한다.슬라이스를 이용하여 풀었다
문제 링크 : https://leetcode.com/problems/simplify-path/description/주어진 경로를 단순화하여 반환하는 문제이다.우선 주어진 경로//에서 /들을 빼준 담애주어진 조건들을 만족하도록 구현한 것을 stack에 넣어주고
문제 링크 : https://leetcode.com/problems/merge-triplets-to-form-target-triplet/description/주어진 triplets로 target을 만들 수 있는지 묻는 문제이다예를 들어 triplets = \[
문제 링크 : https://www.lintcode.com/problem/508/description정렬되지 않은 nums를 다음 조건을 만족하여 반환하는 문제이다nums0 <= nums1 >= nums2 <= nums3....홀수 인덱스는 짝수 인
문제 링크 : https://leetcode.com/problems/gas-station/description/순환 경로를 따라 n개의 가스 충전소가 있고, i번째 가스 충전소의 가스량은 gasi이다.연료 탱크가 무제한인 차가 있고 i번째 가스 충전소에서 다음
문제 링크 : https://leetcode.com/problems/remove-all-adjacent-duplicates-in-string-ii/description/주어진 s에서 k만큼 겹치는 숫자들을 제거한 나머지를 반환하는 문제이다.s의 문자들을 문자,
문제 링크 : https://leetcode.com/problems/asteroid-collision/description/두 운석..?이 충돌하고 남은 운석을 반환하는 문제이다.운석을 stack에 저장하고 주어진 조건에 따라서(-운석과 +운석이 절대값이 똑같

문제 링크 : https://leetcode.com/problems/brick-wall/description/가장 최소한의 벽돌이 깨지는 벽돌의 수를 반환하는 문제이다.벽들의 길이와 gap을 해시함수에 저장하고 전체 wall의 개수에서 갭의 개수를 빼야한다.(
가장 긴 Palindromic Substring을 반환하는 문제이다.물로 일일이 탐색하는 brute force 방식이 있으나 n\*n2 = o(n3) 의 시간복잡도가 걸린다.또 다른 방법으로는 중간을 기점으로 양옆(왼,오)가 같은지 탐색하는 방법이 있다.n\*n =>
문제 링크 : https://leetcode.com/problems/longest-repeating-character-replacement/description/문자 s와 문자를 바꿀 수 있는 개수 K가 주어질 떄 문자를 바꾸고 최대 문자의 길이를 구하여라 e
https://leetcode.com/problems/find-k-closest-elements/description/타겟 ㅇㅔ서 가까운 k(범위)개의 요소를 반환하라예를 들어 1,2,3,4,5가 있고 x = 5 k=2ㄹㅏ고 하면중간 범위M을 포함하여 k만큼
문제 링크 : https://leetcode.com/problems/valid-parenthesis-string/description/'(', ')', '' 로 이루어진 문자열이 입력값으로 주어진다.은 '(', ')'가 될 수 있고 빈 문자도 될 수 있다. 가
문제 링크 : https://leetcode.com/problems/replace-elements-with-greatest-element-on-right-side/처음에는 (앞에서부터)차례대로 최대값을 탐색을 하고 마지막에 -1을 넣는 방법을 생각을 했는데따로

문제 링크 : https://leetcode.com/problems/unique-paths/description/열과 행이 주어졌을 떄 경로의 수를 구하는 문제이다.ex.위와같이 갈 수 있는 경우의 수들을 계속 더해주면 답이 나오긴한다..
주어진 문자열 text안에 'balloon'이라는 단어를 얼마나 만들 수 있는지 반환하는 문제이다.일단 text의 문자열과 'balloon'안에 있는 각 글자수를 세고최소한 (b 1개, a 한개, L 2개, o 두개 n 1개)가 필요하기 때문에 나누어 구한다.
문제 링크 : https://leetcode.com/problems/minimum-domino-rotations-for-equal-row/description/?orderBy=most_votes주어진 도미노의 tops 혹은 bottoms중 하나가 만약 같은 값
https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/description/ rotated된 정렬 배열에서 가장 작은 수를 구하는 문제이다
https://leetcode.com/problems/combination-sum-iv/description/nums를 조합하여 target을 만들 수 있는 개수를 반환하는 문제이디.대표적인 dp문제인 동전 문제 (예. 50원,100원,500원과 금액(예.20
num이 정사각형을 만둘 수 있는 숫자인지(ex. 4 => 22, 9 => 33, 16=>4\*4, 14 => X) t/f 반환하는 문제이다첨에 첫번쨰 테케를 보고 16을 예로 들면 1부터 16의 절반 8까지 탐색해서 정사각형을 만들 수 있는지 생각했는데 실패 테.
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/87946우선 각 경우의 수들을 따져서 각 경우마다 카운트를 하고 최대값을 반환해준다
문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/86491?language=python3 모든 명함을 수납할 수 있는 최소한의 지갑 사이즈를 구하는 문제이다.
문제 링크 : https://leetcode.com/problems/eliminate-maximum-number-of-monsters/description/dist/speed로 나누어 몬스터들이 도시에 오는 시간을 기준으로 정렬한다
https://leetcode.com/problems/shift-2d-grid/description/M,N를 각각 grid의 높이와 너비로 한다.k의 값이 매우 커질 수 있읜 H\*W로 나눈 나머지로 바꾼다.2차원 배열을 1차원으로 폈을 때의 위치(m\*N +
문제 링크 : https://leetcode.com/problems/first-bad-version/description/isBadVersion api를 이용하여 n 이 주어졌을 때 1 ~ n 까지 숫자들 중에서 첫번째로 나오는 bad version 을 찾는
문제 링크 : https://leetcode.com/problems/find-numbers-with-even-number-of-digits/description/주어진 숫자들중 자리수가 짝수인 것의 개수를 반환하는 문제이다주어진 숫자들을 문자열str로 치환환
https://leetcode.com/problems/sliding-window-maximum/description/주어진 nums와 범위k가 주어졌을 떄 주어진 범위 내 가장 큰 숫자들을 모아 반환하는 문제이다.먼저 주어진 범위를 일일이 탐색하는 brute
문제 링크 : https://leetcode.com/problems/kids-with-the-greatest-number-of-candies/description/Easy 난이도의 문제 추가 캔디를 받았을 때 배열 내 최대값과 비교하어 true/False를 반
https://leetcode.com/problems/assign-cookies/description/아이들이 받을 수 있는 쿠키, 쿠키의 사이즈..? 배열이 주어졌을때 쿠키를 받을 수 있는 아이들의 최대 수를 구하여라문제에서 주어진 테스트케이스에서는 정렬되어
문제 링크 : https://leetcode.com/problems/longest-subsequence-with-limited-sum/description/nums와 queries가 주어졌을 때, 각 queries보다 크지 않은 nums의 개수들의 배열을 반환
https://leetcode.com/problems/flip-string-to-monotone-increasing/description/주어진 s가 증가하게 만드는 최소한의 바꾸는 개수를 반환해라.1의 개수와 1 다음으로 나오는 0의 개수를 비교해서 최소한의
https://leetcode.com/problems/maximum-sum-circular-subarray/description/이어진(Circular) nums 에서 , 그 subarray 의 합이 가장 큰 경우를 구하는 문제이다.해당 경우는1.이어지지 않은
https://leetcode.com/problems/find-the-town-judge/description/마을의 판사를 찾는 문제이다주어진 조건1.판사는 아무도 신뢰하지 않음2.판사는 모든 마을 사람의 신뢰를 받음신뢰하는 쪽은 빼주고 신뢰받는 쪽은 더해주
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/84512 2단계치고는 생각보다 좀 어려운 문제였다.. 어느정도 수학적인 머리가 필요하다고 느낀 문제.. 길이가 최대 5까지 들어오는 문자열에 대해
Problem Link : https://school.programmers.co.kr/learn/courses/30/lessons/43165 이전에 풀어보았지만 복습겸 + dfs, bfs 알고리즘 연습해보려고 다시 풀어보았다.따지고보면 크게 어려운 점은 없는
https://school.programmers.co.kr/learn/courses/30/lessons/12906배열 arr이 주어졌을 때 같은 숫자가 붙어 있으면 중복을 제거하여 반환하는 문제이다.arr을 탐색하여 연속된 숫자가 중복되어있지 않으면 answe
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/135808내림차순으로 정렬한 후 앞에서 부터 n개만큼 끊고 m개씩 나눈 사과를 (가장 작은 값 \* m)로 계산해서 계속 더해주면 된다.
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/133502햄버거 하나를 만들기 위해서는 1-2-3-1의 형태로 완성되어야한다.따라서 ingredient를 stack에 넣어주고 만약 1-2-
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/142086s를 탐색하면서 만약에 처음 등장하는 글자면 -1를 넣고, 그렇지않으면 떨어진 위치(?)만큼 빼주고 위치를 업데이트(?)해준다
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/70128a,b의 내적을 구하는 문제이다a,b를 돌면서 각 배열안에 있는 숫자를 곱해준 값을 dot 이라고 칭함.그리고 그 값들을 더해주면 값
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/132267그냥 간단히 문제에서 주어진 조건을 구현하면 되는 문제이다.받을 수 있는 콜라의 개수를 cnt로 count 해주고남은 병? + 콜라
첫번째 시도 실패 (string index out of range)인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. key 기준으로 sort하면 나머지 요소들은 영향을 끼치지 못하고 기존 순서를 유지하기 때문이다.따라서 먼저
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12914 기존에 dp로 풀었던 동전던지기 등과 매우 비슷한 유형의 문제다.
Problem Link : https://school.programmers.co.kr/learn/courses/30/lessons/155652문제에 있는 조건들을 구현하면 되는 ..?문제이다.1.우선 알파벳 문자중에서 skip해야하는 글자를 공백으로 변환한다.
probelm Link : https://school.programmers.co.kr/learn/courses/30/lessons/17680LRU란 ? 가장 오래된 페이지를 교체하는 알고리즘for문을 돌며 cache 배열에 접근할 때 모두 소문자로 변경하여 저
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/129241부터 n까지 완전탐색을 이용하여 해결하였다.1부터 n까지 num에 더해가면서 풀어준다. 그리고 더한 값들이(num) n과 같으면 a