배열11 파이썬에서 list와 array의 차이점 + numpy.array 파이썬에서는 list가 기본적으로 많이 쓰인다.list는 다양한 자료형을 다 허용한다. 정수, 문자열, 리스트 다 섞을 수 있다.반면 array는 하나의 타입만 허용한다. 고정적임. listarraynumpy.array다양한 자료형 허용하나의 자료형만 허용타입 고정(하나의 자료형)기본 내장 자료형이라 그냥 쓰면 됨import 필요import 필요xxpip 설치 필요속도/메모리 효율 보통좋음최상(C기반이라 벡터 연산 엄청 빠름)다양한 자료형 저장 필요 할 때 추천숫자 계산, 행렬, 벡터 연산 시 추천고정 타입 + 더 빠른 반복 필요 시 추천가변 크기, 동적 배열고정 크기, 정적 배열고정 크기, 정적 배열(단, 유연하게 복사/확장 가능) 잘 모르겠다 싶으면 list 쓰는 게 무난할 수도.C/C++같은 데서 .. 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. 프로그래머스 <배열의 길이에 따라 다른 연산하기> def solution(arr, n): if len(arr) % 2 == 0: for i in range(1, len(arr) + 1, 2): arr[i] += n return arr else: for i in range(0, len(arr) + 1, 2): arr[i] += n return arr 좀 더 간결하게def solution(arr, n): s = 1 if len(arr) % 2 == 0 else 0 for i in range(s, len(arr), 2): arr[i] += n return arr 2025. 4. 16. 프로그래머스 <뒤에서 5등까지> 요즘 목표는 최대한 클린코드로 짜기.기초 문제부터 차근차근 정석대로 줄줄이 읊기보다는 최대한 깔끔하게 짜려고 연습 중이다. def solution(num_list): return sorted(num_list)[:5] 2025. 4. 16. std::map #include 헤더를 이용해 사용할 수 있는 mapmap은 배열과 비슷하지만, 좀 더 확장성이 있다.Key-Value(키-값)쌍을 저장한다.Key는 배열처럼 연속적이지 않아도 되고 꼭 int가 아니어도 키 값을 가질 수 있는 큰 장점이 있다.원소 삽입과 동시에 정렬이 되어서 sort()가 필요하지 않다.map은 int가 아닐 수도 있기 때문에 일반적인 for루프는 사용하지 못하고, iterator(순회자)로만 가능하다.#define _CRT_SECURE_NO_WARNINGS#include #include #include using namespace std;int getInt(const char* prompt) { printf(prompt); int input; fseek(stdin, 0, SEEK.. 2024. 5. 21. std::vector #include //을 해주면 vector를 사용할 수 있다.Vector는 유동적인 배열을 편히 사용할 수 있고 일반적인 배열을 사용하듯이 사용할 수 있다.일반적인 for 루프를 돌릴 수도 있고, iterator(순회자)를 통해 각각의 원소를 순회하면서 루프를 돌 수도 있다.그리고 순회자를 통해 에 있는 sort()함수를 사용하여 값을 정렬할 수도 있다.#include #include #include #include using namespace std;int main(){ vector v = {1, 2, 10}; v.push_back(20); //맨 뒤에 값을 넣어주는 push_back() v.push_back(12); v.push_back(7); for(int .. 2024. 5. 21. 이전 1 2 다음