본문 바로가기

Python42

[NumPy] 배열 연산 - (1) 이수안컴퓨터연구소의 NumPy 한번에 끝내기 영상을 보고 정리한 내용입니다. ✅ 배열 연산 NumPy의 배열 연산은 벡터화 연산(vectorized)을 사용한다. 일반적으로 NumPy의 범용 함수(universal functions)를 통해 구현하며 배열 요소에 대한 반복적인 계산을 효율적으로 수행할 수 있다. ✅ 브로드캐스팅 브로드캐스팅(Broadcasting)은 NumPy가 산술 연산 중 다른 모양의 배열을 처리하는 방법이다. 특정 제약 조건에 따라 더 작은 array는 호환되는 모양을 갖도록 더 큰 array에 대해 브로드캐스팅된다. 즉, 산술 연산을 하고 싶은 두 피연산자 배열이 각기 다른 shape을 가지고 있어도 산술 연산을 할 수 있게끔 shape이 동일하게 맞춰진다. a1 = np.arra.. 2022. 2. 5.
[프로그래머스] H-Index 문제 링크 >> https://programmers.co.kr/learn/courses/30/lessons/42747 📋 문제 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요. 👉 입출력 과학자가 발표한 논문의 수는 1편 이상 .. 2022. 2. 3.
[NumPy] 배열 변환 - (2) 이수안컴퓨터연구소의 NumPy 한번에 끝내기 영상을 보고 정리한 내용입니다. ✅ 배열 추가 ✔️ numpy.append() 배열의 끝에 값을 추가한다. numpy.append(arr, values, axis=None) arr: 값을 붙일 배열. values는 복사된 arr에 append된다. values : 이어붙일 값들. arr과 같은 shape을 가지고 있어야 한다. axis : 이어붙일 대상이 될 축. a2 = np.arange(1, 10).reshape(3, 3) b2 = np.arange(10,19).reshape(3, 3) print(a2) print(b2) # output # [[1 2 3] # [4 5 6] # [7 8 9]] # [[10 11 12] # [13 14 15] # [16 17.. 2022. 2. 2.
[프로그래머스] 가장 큰 수 문제 링크 >> https://programmers.co.kr/learn/courses/30/lessons/42746 📋 문제 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 👉 입출력 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. .. 2022. 2. 2.
[프로그래머스] K번째 수 문제 링크 >> https://programmers.co.kr/learn/courses/30/lessons/42748 📋 문제 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 .. 2022. 2. 2.
[Python] csv와 파이썬 함수들 엘리스에서 제공한 강의와 자료를 보고 정리한 내용입니다. ✅ csv csv(Comma Separated Value)는 어떠한 값들이 구분자로 구분되어 있으며 각 열이 특정한 의미를 가진다. 이때 구분자는 기본적으로 콤마(,)지만 다른 구분 문자도 사용 가능하다. json처럼 키를 따로 두지 않고 의미에 따라 값들을 나열하기 때문에 의미를 모르면 해석이 불가능할 수도 있다. csv는 엑셀에서 열람이 가능하며 key값을 따로 두지 않아 용량이 작다. 값을 저장할 때 데이터에 , 등의 구분자가 들어있을 경우 큰 따옴표로 감싸주면 구분자가 들어있어도 큰 따옴표로 감싸진 것을 하나의 값으로 취급한다. 하지만 이러한 예외가 언제든지 발생할 수 있기 때문에 데이터 오염에 취약하다. ✔️ reader() csv 형식의.. 2022. 1. 30.
[Python] set과 집합연산 엘리스에서 제공한 강의와 자료를 보고 정리한 내용입니다. ✅ set 집합(set)은 중복이 허용되지 않으며 순서가 없는 자료형이다. {} 중괄호를 사용하며 콤마(,)로 값을 구분하거나 set() 키워드로 선언할 수 있다. set1 = {1, 2, 3} set2 = set([1, 2, 3]) # set1과 set2는 같은 값이다. ✔️ 값 추가 하나의 값을 추가하는 것은 add()로, 여러개의 값을 추가하는 것은 update()로 가능하다. sample_set.add(4) sample_set.update([ 5, 6, 7]) ✔️ 값 삭제 값을 삭제하는 것은 remove() 또는 discard()로 가능하다. discard는 해당 원소가 있다면 삭제하고 없다면 아무런 일도 하지 않는 반면 remove는 해.. 2022. 1. 30.
[Python] Dictionary와 JSON 엘리스에서 제공한 강의와 자료를 보고 정리한 내용입니다. ✅ Dictionary 딕셔너리(Dictionary)는 key 값과 value 값을 한 쌍으로 가지는 자료형이다. 중괄호 {} 안에 key: value를 ,로 구분하여 생성한다. 딕셔너리의 key는 값을 찾기위해 넣어주는 데이터이고 value는 찾고자하는 데이터이다. 따라서 key는 변할 수 없는 값으로만 지정할 수 있다. sample_dict = {key1 : value1, key2 : value2, …} ✔️ entry에 접근(value값 얻기) 저장된 value 값을 확인하고 싶을 때는 key값을 이용하는 방식과 get() 메서드를 이용하는 방식이 있다. sample_dict[key] sample_dict.get(key) ✔️ entry 추가.. 2022. 1. 30.
[Python] 파일 다루기와 list comprehension, sorted 엘리스에서 제공한 강의와 자료를 보고 정리한 내용입니다. ✅ 파일 다루기 python에서 파일을 다루는 방법은 다음과 같다. ✔️ open() 인자로 주어진 파일을 열고 해당 파일 객체를 반환한다. open(file, mode='r', buffering=- 1, encoding=None, errors=None, newline=None, closefd=True, opener=None) file : 파일의 path. mode : 파일을 열 때 사용할 모드.(r = 읽기, w = 쓰기 등.) ✔️ read() 파일 전체의 내용을 하나의 문자열로 읽어온다. 비슷한 메서드로 readline(), readlines()가 존재한다. readline()은 한 번에 하나의 라인을 읽어오고 readlines()는 파일 전.. 2022. 1. 30.