반응형

Leetcode 20

14. 가장 긴 공통 접두사 - Longest Common Prefix

배열에 주어진 문자열들 사이에서 가장 긴 공통 접두사 문자열을 찾는 함수를 작성하세요.만약 공통 접두사가 없다면 빈 문자열 ""을 반환하세요.예제 1:입력: strs = ["flower", "flow", "flight"]출력: "fl"예제 2:입력: strs = ["dog", "racecar", "car"]출력: ""설명: 입력 문자열들 사이에 공통 접두사가 없습니다.제약 조건:1 0 strs[i]는 오직 소문자 영어 알파벳으로만 이루어져 있습니다. 풀이class Solution: def longestCommonPrefix(self, strs: List[str]) -> str: s1 = min(strs) s2 = max(strs) for i, c in enume..

58. 마지막 단어의 길이 - Length of Last Word

문자열 s가 단어와 공백으로 이루어져 있을 때, 문자열의 마지막 단어의 길이를 반환하세요.여기서 "단어"란 공백이 아닌 문자로 이루어진 최대 길이의 부분 문자열을 의미합니다.예제예제 1입력: s = "Hello World"출력: 5설명: 마지막 단어는 "World"이며, 길이는 5입니다.예제 2입력: s = " fly me to the moon "출력: 4설명: 마지막 단어는 "moon"이며, 길이는 4입니다.예제 3입력: s = "luffy is still joyboy"출력: 6설명: 마지막 단어는 "joyboy"이며, 길이는 6입니다.제약 조건1 s는 오직 영어 소문자와 대문자, 그리고 공백 ' '으로만 구성되어 있습니다.s에는 적어도 하나의 단어가 포함되어 있습니다. 풀이class Solution:..

12. 정수를 로마 숫자로 변환하기 - Integer to Roman

로마 숫자는 7개의 다른 기호로 구성되며, 각 기호의 값은 다음과 같습니다:기호값I1V5X10L50C100D500M1000로마 숫자는 십진수 자릿값의 변환을 가장 높은 자리부터 낮은 자리까지 차례로 추가하여 형성됩니다. 십진수 자릿값을 로마 숫자로 변환하는 규칙은 다음과 같습니다:값이 4 또는 9로 시작하지 않는 경우, 입력에서 빼낼 수 있는 최대 값의 기호를 선택하여 결과에 추가하고, 그 값을 뺀 나머지를 다시 로마 숫자로 변환합니다.값이 4 또는 9로 시작하는 경우, 다음 기호에서 하나를 뺀다는 빼기 형식을 사용합니다. 예를 들어, 4는 5(V)보다 1(I) 작으므로 "IV"이며, 9는 10(X)보다 1(I) 작으므로 "IX"입니다. 사용되는 빼기 형식은 다음과 같습니다: 4(IV), 9(IX), 4..

로마 숫자를 정수로 변환하기 - 13. Roman to Integer

13. 로마 숫자를 정수로 변환하기로마 숫자는 다음과 같은 7개의 다른 기호로 표현됩니다: I, V, X, L, C, D, M.기호값I1V5X10L50C100D500M1000 예를 들어, 숫자 2는 로마 숫자로 II로 쓰이며, 이는 1이 두 번 더해진 것입니다. 숫자 12는 XII로 쓰이며, 이는 단순히 X + II입니다. 숫자 27은 XXVII로 쓰이며, 이는 XX + V + II입니다.로마 숫자는 보통 가장 큰 값부터 작은 값 순서로 왼쪽에서 오른쪽으로 씁니다. 그러나 숫자 4는 IIII가 아닌 IV로 씁니다. 이는 1이 5 앞에 오기 때문에 5에서 1을 빼서 4가 됩니다. 같은 원칙이 숫자 9에도 적용되며, 이는 IX로 씁니다. 다음 6가지 경우에서 감산이 사용됩니다:I는 V(5)와 X(10) 앞에..

비가 온 후 물이 갇히는 양 계산하기 - 42. Trapping Rain Water

너비가 1인 막대로 이루어진 고도 지도를 나타내는 n개의 음이 아닌 정수가 주어졌을 때, 비가 내린 후 갇힐 수 있는 물의 양을 계산하세요.예시 1:입력: height = [0,1,0,2,1,0,1,3,2,1,2,1]출력: 6설명: 위의 고도 지도(검은색 부분)는 배열 [0,1,0,2,1,0,1,3,2,1,2,1]로 나타낼 수 있습니다. 이 경우, 6 단위의 빗물(파란색 부분)이 갇히게 됩니다.예시 2: 입력: height = [4,2,0,3,2,5]출력: 9제약 조건:n == height.length1 0 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 풀이class Solution: def trap(self, height: List[int]) -> int: ..

사탕 문제 - 135. Candy

n명의 아이들이 한 줄로 서 있습니다. 각 아이는 정수 배열 ratings에 주어진 등급 값을 부여받았습니다.다음의 요구 사항을 충족하도록 이 아이들에게 사탕을 나누어 주려고 합니다:각 아이는 최소한 하나의 사탕을 받아야 합니다.더 높은 등급을 받은 아이는 이웃한 아이들보다 더 많은 사탕을 받아야 합니다.아이들에게 사탕을 나누어 주기 위해 필요한 최소 사탕의 개수를 반환하세요.예제 1:입력: ratings = [1,0,2]출력: 5설명: 첫 번째, 두 번째, 세 번째 아이에게 각각 2, 1, 2개의 사탕을 줄 수 있습니다.예제 2:입력: ratings = [1,2,2]출력: 4설명: 첫 번째, 두 번째, 세 번째 아이에게 각각 1, 2, 1개의 사탕을 줄 수 있습니다. 세 번째 아이는 위의 두 가지 조건..

주유소 문제 - 134. Gas Station

n개의 주유소가 원형 경로를 따라 위치해 있으며, i번째 주유소에는 gas[i]만큼의 연료가 있습니다.당신은 무한한 연료 탱크를 가진 자동차를 가지고 있으며, i번째 주유소에서 다음 (i + 1)번째 주유소로 이동하는 데 cost[i]만큼의 연료가 필요합니다. 당신은 어느 한 주유소에서 빈 탱크로 여행을 시작합니다.두 개의 정수 배열 gas와 cost가 주어질 때, 시계 방향으로 한 바퀴를 돌 수 있는 출발 주유소의 인덱스를 반환하세요. 한 바퀴를 돌 수 없다면 -1을 반환하세요. 만약 해답이 존재한다면, 그 해답은 유일함이 보장됩니다.예제 1:입력: gas = [1,2,3,4,5], cost = [3,4,5,1,2]출력: 3설명:주유소 3번(index 3)에서 시작하여 4 단위의 연료를 채웁니다. 탱크..

배열의 곱셈 제외하기 - 238. Product of Array Except Self

238. 배열의 곱셈 제외하기정수 배열 nums가 주어졌을 때, answer[i]가 nums[i]를 제외한 모든 요소들의 곱과 같도록 하는 배열 answer를 반환하세요.nums의 어느 접두사나 접미사의 곱셈 결과도 32비트 정수에 들어갈 수 있다고 보장됩니다.O(n) 시간 복잡도로 동작하는 알고리즘을 작성해야 하며, 나눗셈 연산을 사용하지 않아야 합니다.예제 1:입력: nums = [1,2,3,4]출력: [24,12,8,6]예제 2:입력: nums = [-1,1,0,-3,3]출력: [0,0,9,0,0]제약 조건:nums.length는 2 이상 105 이하입니다.nums[i]는 -30 이상 30 이하입니다.nums의 어느 접두사나 접미사의 곱셈 결과도 32비트 정수에 들어갈 수 있다고 보장됩니다.추가 과..

[Medium] 380. Insert Delete GetRandom O(1)

RandomizedSet 클래스를 구현하세요:RandomizedSet(): RandomizedSet 객체를 초기화합니다.bool insert(int val): 아이템 val을 집합에 삽입합니다(존재하지 않는 경우). 아이템이 존재하지 않아 성공적으로 삽입되면 true를 반환하고, 그렇지 않으면 false를 반환합니다.bool remove(int val): 아이템 val을 집합에서 제거합니다(존재하는 경우). 아이템이 존재하여 성공적으로 제거되면 true를 반환하고, 그렇지 않으면 false를 반환합니다.int getRandom(): 현재 집합에 있는 요소들 중 무작위로 하나를 반환합니다(이 메서드가 호출될 때 적어도 하나의 요소가 존재하는 것이 보장됩니다). 각 요소는 동일한 확률로 반환되어야 합니다.이..

[Medium] H-지수- 274. H-Index

정수 배열 citations가 주어집니다. 여기서 citations[i]는 연구자가 i번째 논문에 대해 받은 인용 횟수를 나타냅니다. 연구자의 H-지수를 반환하세요. 위키백과의 H-지수 정의에 따르면, H-지수는 주어진 연구자가 적어도 H번 이상 인용된 논문이 H편 이상 있는 경우의 최대 값으로 정의됩니다.예시 1:입력: citations = [3,0,6,1,5]출력: 3설명: [3,0,6,1,5]는 연구자가 총 5편의 논문을 가지고 있으며, 각각 3, 0, 6, 1, 5회 인용되었음을 의미합니다. 연구자는 적어도 3번 이상 인용된 논문이 3편 있으며, 나머지 두 논문은 최대 3회 인용되었습니다. 따라서 H-지수는 3입니다.예시 2:입력: citations = [1,3,1]출력: 1제한 사항:n == c..

반응형