stack overflow란?

while(alive){ code();

코딩테스트 7

[leetcode] 이진탐색 74. Search a 2D Matrix

다음 두 가지 속성을 가진 m x n 정수 행렬이 제공됩니다: 각 행은 감소하지 않는 순서로 정렬됩니다. 각 행의 첫 번째 정수가 이전 행의 마지막 정수보다 큽니다. target 정수값이 지정되면 대상이 행렬에 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다. 솔루션은 O(log(m * n)) 시간 복잡도로 작성해야 합니다. Input: matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3 Output: true Input: matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13 Output: false class Solution: def searchMatrix(self, mat..

코딩테스트 2023.02.21

[leetcode] 이진탐색 1011. Capacity To Ship Packages Within D Days

컨베이어 벨트에는 수일 내에 한 항구에서 다른 항구로 배송되어야 하는 패키지가 있습니다. 컨베이어 벨트에 있는 i번째 패키지 무게는 weights[i]입니다. 매일 우리는 컨베이어 벨트에 패키지를 싣습니다(제공되는 weights의 순서대로) 선박의 최대적재용량을 초과하여 적재할 수 없습니다. 컨베이어 벨트의 모든 패키지가 주어진 days 내에 배송될 수 있도록 선박의 최소 적재용량을 반환합니다. example Input: weights = [1,2,3,4,5,6,7,8,9,10], days = 5 Output: 15 A ship capacity of 15 is the minimum to ship all the packages in 5 days like this: 1st day: 1, 2, 3, 4, 5 ..

코딩테스트 2023.02.20

꼭 알아야하는 코딩테스트 기초 알고리즘

List Comprension n,m=3,4 array = [[0]*m for _ in range(n)] array [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] List Method .append() .sort() .reverse() .insert() .count() .remove() Dictionary data = dict() .keys() .values() set data = set() or data = {} .add() # 1개 추가 .update() # 여러개를 한꺼번에 추가 .remove() 기본연산 a= set([1,2,3,4]) b= set([3,4,5,6]) print(a|b) # 합집합 print(a&b) # 교집합 print(a-b) # 차집합 {1, 2..

코딩테스트 2023.02.08

[백준] 8983번 사냥꾼

KOI 사냥터에는 N 마리의 동물들이 각각 특정한 위치에 살고 있다. 사냥터에 온 사냥꾼은 일직선 상에 위치한 M 개의 사대(총을 쏘는 장소)에서만 사격이 가능하다. 편의상, 일직선을 x-축이라 가정하고, 사대의 위치 x1, x2, ..., xM은 x-좌표 값이라고 하자. 각 동물이 사는 위치는 (a1, b1), (a2, b2), ..., (aN, bN)과 같이 x,y-좌표 값으로 표시하자. 동물의 위치를 나타내는 모든 좌표 값은 양의 정수이다. 사냥꾼이 가지고 있는 총의 사정거리가 L이라고 하면, 사냥꾼은 한 사대에서 거리가 L 보다 작거나 같은 위치의 동물들을 잡을 수 있다고 한다. 단, 사대의 위치 xi와 동물의 위치 (aj, bj) 간의 거리는 |xi-aj| + bj로 계산한다. 예를 들어, 아래..

코딩테스트 2023.02.06

[leetcode] 13. Roman to Integer : python

로마 숫자는 I, V, X, L, C, D, M의 일곱 가지 기호로 표현된다. 예를 들어, 2는 로마 숫자로 II로 쓰여지고, 단지 두 개의 숫자를 더하면 된다. 12는 XII로 쓰여지고, 이것은 단순히 X+II이다. 숫자 27은 XXVII로 쓰여져 있는데, XX + V + II이다. 로마 숫자는 보통 왼쪽에서 오른쪽으로 큰 것부터 작은 것까지 쓴다. 그러나 4의 숫자는 IIII가 아니다. 대신 숫자 4는 IV로 쓰여져 있다. I가 V보다 앞에 있기 때문에 4로 한다. 같은 원리가 IX로 표기된 숫자 9에도 적용된다. 뺄셈이 사용되는 경우는 6가지가 있다: I는 V(5)와 X(10) 앞에 배치되어 4와 9를 만들 수 있다. X는 L(50)과 C(100) 앞에 놓아서 40과 90을 만들 수 있다. C는 D..

코딩테스트 2023.01.19

[leetcode] 12. Integer to Roman : python

로마 숫자는 I, V, X, L, C, D, M의 일곱 가지 기호로 표현된다. Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000 예를 들어, 2는 로마 숫자로 II로 쓰여지고, 2는 단지 하나를 더하면 된다. 12는 XII로 쓰여지고, 이것은 간단히 X+II이다. 숫자 27은 XXVII로 쓰여져 있는데, XX + V + II이다. 로마 숫자는 보통 왼쪽에서 오른쪽으로 큰 것부터 작은 것까지 쓴다. 그러나 4의 숫자는 IIII가 아니다. 대신 숫자 4는 IV로 쓰여져 있다. "1"이 "5"보다 앞에 있기 때문에 우리는 그것을 4로 빼야 한다. 같은 원리가 IX로 표기된 숫자 9에도 적용된다. 뺄셈이 사용되는 경우는 6가지가 있다: I는 V(5)와 X(10) 앞에 배치..

코딩테스트 2023.01.17