본문 바로가기

Computer Science74

[Numpy] (3) Concatenate로 여러개의 배열 합치기 HackerRank 문제: https://www.hackerrank.com/challenges/np-concatenate/problem Concatenate | HackerRank Use the concatenate function on 2 arrays. www.hackerrank.com import numpy as np first = input().split(' ') rows1, rows2= int(first[0]), int(first[1]) data1 = [] for _ in range(rows1): next = input().split(' ') data1.append([int(x) for x in next]) data1 = np.array(data1) data2 = [] for _ in range(.. 2020. 3. 31.
[Numpy] (2) Transpose and Flatten, flatten()과 ravel()의 차이점 HackerRank 문제: https://www.hackerrank.com/challenges/np-transpose-and-flatten/problem Transpose and Flatten | HackerRank Use the transpose and flatten tools in the NumPy module to manipulate an array. www.hackerrank.com input: 2 2 1 2 3 4 output: [[1 3] [2 4]] [1 2 3 4] import numpy as np first = input().split(' ') rows, columns = int(first[0]), int(first[1]) data = [] for _ in range(rows): next.. 2020. 3. 30.
[Numpy] (1) Numpy arrays basic HackerRank 문제: https://www.hackerrank.com/challenges/np-arrays/problem Arrays | HackerRank Convert a list to an array using the NumPy package. www.hackerrank.com Input 1 2 3 4 -8 -10 Output [-10. -8. 4. 3. 2. 1.] import numpy def arrays(arr): # 배열의 요소를 모두 float arr = numpy.array(arr, float) # reverse the array arr = numpy.flip(arr) return arr arr = input().strip().split(' ') result = arrays(arr).. 2020. 3. 29.
[Python] isinstance() 함수와 .isdigit()의 차이 ① isinstance(object, class) isinstance 함수는 객체가 입력받은 클래스의 인스턴스인지 확인하는 함수이다. 단순히 type을 체크하는데 쓸 수도 있지만, 내가 만든 클래스의 인스턴스도 체크할 수 있다. Boolean data type (True or False)를 리턴한다. ② .isdigit() isdigit은 스트링 자료형에만 사용할 수 있는 스트링 메소드이다. 따라서 스트링안에 있는 내용이 숫자인지 확인할 때 쓴다. >>> word = '10' >>> print(isinstance(word, int)) >>> print(word.isdigit()) # False # True 2020. 3. 27.
[Python] Frozenset이란? set은 mutable한 자료형이고, Frozenset은 immutable한 버전의 set이다. Frozenset은 immutable하기 때문에 딕셔너리의 키로 사용할 수 있다. ( immutable한 객체만 hash key로 사용될 수 있다.) 참고: https://jiwonkoh.tistory.com/40 [Python] immutable한 객체는 모두 hashable한가? ① Hashing은 hash table이라는 자료구조를 이용해서 요소들을 빠르게 찾을 수 있게 하는 방법이다. Hash table은 모든 요소들에 대해서 key를 가진다. 이를 통해서 요소들을 찾는데 constant time (O(1)) (= 시간.. jiwonkoh.tistory.com # frozenset은 dictionary.. 2020. 3. 26.
[Python] immutable한 객체는 모두 hashable한가? ① Hashing은 hash table이라는 자료구조를 이용해서 요소들을 빠르게 찾을 수 있게 하는 방법이다. Hash table은 모든 요소들에 대해서 key를 가진다. 이 key를 통해서 요소들을 찾는데 constant time (O(1)) (= 시간 복잡도 상수 시간)을 가져 요소들의 개수와 상관 없이 원하는 값을 빠르게 찾아낼 수 있다. 그렇다면 hashable하다는 것의 의미는 무엇일까? Hashable은 객체가 만들어진 이후에 hash table의 value가 바뀌지 않음을 의미한다. ② Mutability는 이 변수가 바뀔 수 있는지 없는지에 대한 개념이다. 파이썬의 자료형에서는 Immutable type: Tuple, int, String, Frozenset mutable type: Lis.. 2020. 3. 26.
[Python] set 자료형에 string을 알파벳 분리 안되게 넣기 >>> A = set('apple') >>> A # {'a', 'p', 'l', 'e'} set에 string을 추가하고 싶을 때 이렇게 넣으면 알파벳이 분리된다. >>> A = set() >>> A.add('apple') >>> A # {'apple'} 이렇게 set()으로 빈 set을 먼저 만들어주고 .add()를 이용해서 새로운 string을 추가하면 문자가 분리되지 않게 추가할 수 있다. >>> A = set() >>> A.update('apple') >>> A # {'a', 'p', 'l', 'e'} .update()를 사용하면 문자가 분리되어 들어간다. 이는 update() 메서드가 iterable한 객체는 한 캐릭터씩 set에 집어넣는 메서드이기 때문이다. update()가 iterable한.. 2020. 3. 20.
[Python] output formatting에 f-string 사용하기 f-string을 이용하면 output을 print하거나 string을 만들 때 요긴하게 사용할 수 있다. name = 'Amy' age = 12 print(f'{name} is {age} years old') # Amy is 12 years old 이렇게 f'' 로 감싸고 문자열에 넣고 싶은 변수를 {}로 감싸면 된다. .format()보다 가독성이 좋다. 만약 문자열 안에 작은 따옴표를 추가하고 싶으면 f""로 쓰면 된다. name = 'Amy' print(f"'Hi! my name is {name}'") # 'Hi! my name is Amy' 2020. 3. 19.