본문 바로가기

array10

프로그래머스 <수열과 구간 쿼리 2> Python Programmers 문제문제 설명정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴입니다.각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 k보다 크면서 가장 작은 arr[i]를 찾습니다.각 쿼리의 순서에 맞게 답을 저장한 배열을 반환하는 solution 함수를 완성해 주세요.단, 특정 쿼리의 답이 존재하지 않으면 -1을 저장합니다.제한사항1 ≤ arr의 길이 ≤ 1,000 0 ≤ arr의 원소 ≤ 1,000,0001 ≤ queries의 길이 ≤ 1,000 0 ≤ s ≤ e 0 ≤ k ≤ 1,000,000입출력 예 arr .. 2025. 4. 18.
파이썬에서 list와 array의 차이점 + numpy.array 파이썬에서는 list가 기본적으로 많이 쓰인다.list는 다양한 자료형을 다 허용한다. 정수, 문자열, 리스트 다 섞을 수 있다.반면 array는 하나의 타입만 허용한다. 고정적임. listarraynumpy.array다양한 자료형 허용하나의 자료형만 허용타입 고정(하나의 자료형)기본 내장 자료형이라 그냥 쓰면 됨import 필요import 필요xxpip 설치 필요속도/메모리 효율 보통좋음최상(C기반이라 벡터 연산 엄청 빠름)다양한 자료형 저장 필요 할 때 추천숫자 계산, 행렬, 벡터 연산 시 추천고정 타입 + 더 빠른 반복 필요 시 추천가변 크기, 동적 배열고정 크기, 정적 배열고정 크기, 정적 배열(단, 유연하게 복사/확장 가능) 잘 모르겠다 싶으면 list 쓰는 게 무난할 수도.C/C++같은 데서 .. 2025. 4. 17.
프로그래머스 <마지막 두 원소> Python Programmers 문제문제 설명정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요.제한사항2 ≤ num_list의 길이 ≤ 101 ≤ num_list의 원소 ≤ 9def solution(num_list): n = len(num_list)-1 if num_list[n] > num_list[n-1]: num_list.append(num_list[n]-num_list[n-1]) else: num_list.append(num_list[n]*2) return num_li.. 2025. 4. 17.
프로그래머스 <원소들의 곱과 합> Python Programmers 문제문제 설명정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ num_list의 길이 ≤ 10 1 ≤ num_list의 원소 ≤ 9def solution(num_list): num1 = 1 num2 = sum(num_list)**2 for i in num_list: num1 *= i return 1 if num1 num1을 0으로 초기화 하면 안 됨.for루프에서 0부터 곱하기 때문에 아무리 곱해봤자 0이 나오기 때문.습관적으로 숫자라고 0으로 초기화 하지 말고 1로도 생각을 해 보자. (나 말하는 거임;).. 2025. 4. 17.
programmers <ad제거하기> 주어진 문자열에서 "ad"가 포함된 요소 제외하기def solution(strArr): return [w for w in strArr if "ad" not in w] 2025. 4. 17.
programmers <x사이의 개수>, <공백으로 구분하기2> 문자열 oxoooxooxoox같은 거를 x를 기준으로 나눠서 나눠진 문자열의 길이를 리스트로 담기"o", "ooo", "oo", "oo" => [1, 3, 2, 2] 이런식으로 def solution(myString): words = myString.split("x") cnt = [] for word in words: #words라는 리스트에서 요소 하나씩 꺼내서 cnt리스트에 추가 cnt.append(len(word)) return cnt 리스트 컴프리헨션def solution(myString): return [len(part) for part in myString.split("x")] +만약에문자열이 "abcxdefxxghix"라면["abc", "def".. 2025. 4. 17.
프로그래머스 <배열의 원소만큼 추가하기> def solution(arr): x = [] for i in arr: x += arr[i]*int(arr[i]) return x 리스트 컴프리헨션 중첩 구조def solution(arr): return [i for i in arr for _ in range(i)]arr의 각 요소 i를 i번 반복해서 리스트에 담는다.[값 for 바깥루프 for 안쪽루프] 구조[i...] 결과 리스트에 넣을 값은 i다.[.. for i in arr ..] 바깥루프 : arr의 각 요소 가져오기[... for _ in range(i)] 안쪽루프 : i만큼 반복하기[리턴값 for 바깥요소 in 컬렉션 for 반복 in range(n)]#리스트 '컬렉션'의 각 원소 '바깥요소'를 n번 '.. 2025. 4. 17.
프로그래머스 <배열 비교하기> Lv.0 def solution(arr1, arr2): n1 = sum(arr1) n2 = sum(arr2) if len(arr1) > len(arr2): return 1 elif len(arr1) n2: return 1 elif n1 간결하게def solution(arr1, arr2): return ( 1 if len(arr1)>len(arr2) else -1 if len(arr1)sum(arr2) else -1 if sum(arr1) 2025. 4. 17.
배열 #include int main() { using namespace std; int arr[3] = {10, 20, 30};//3개짜리 배열에 10, 20, 30 값 저장 int arr2[3] = {0,};//3개짜리 배열에 모두 0 저장 int arr3[] = {40, 20, 10}; //배열 크기 모름, 일단 40, 20, 10 저장 cout 2023. 1. 17.