본문 바로가기

Python5

[Python] combinations 프로그래머에서 알고리즘을 풀다가 combinations에 대해서 알게 되었다. 내가 푼 "소수 만들기"문제는 리스트가 들어왔을 때, 리스트 안 세 수를 더한 값이 소수인 개수를 return 하는 문제였다. # 풀이 1 def solution(nums): sum = [] for i in range(len(nums)): for j in range(i+1, len(nums)): for k in range(j+1, len(nums)): a = nums[i] + nums[j] + nums[k] sum.append(a) count = 0 for i in sum: total = 0 for j in range(1, i+1): if i % j == 0: total += 1 if total == 2: count += 1 .. 2022. 6. 30.
[Python] Iterators iterator란, iterable 객체에서 값을 차례대로 꺼낼 수 있는 객체를 말한다. iterable 객체는 list, dictionary, set, str, tuple, range 등이 있다. 우리는 리스트가 있을 때 for문을 사용하여 값을 하나씩 불러왔다. 아래 예제는 for문을 통해 값마다 제곱을 하는 코드이다. L = [1, 2, 3] for x in L: print(x ** 2, end=' ') >>> 1, 4, 9 리스는 L이 반복 가능한 객체인지 확인하는 방법은 dir를 사용하는 것이다. dir(객체)를 호출하면 해당 객체가 어떠한 변수와 메서드를 가지고 있는 보여준다. print(dir(L)) >>> ['__add__', '__class__', '__class_getitem__', '.. 2022. 3. 6.
[Python] List Comprehensions 리스트 컴프리헨션이란 새로운 리스트를 만들 때 사용되는 간단한 표현식으로 []를 사용한다. 기본적인 작성법은 아래와 같다. list_name1 = [표현식 for 원소 in 반복 가능한 객체] list_name2 = [표현식 for 원소 in 반복 가능한 객체 if문] 우리가 만들고자 하는 표현을 표현식에 넣고, for문을 통해 새로운 리스트를 만든다. for문 뒤에 if문을 사용하여 조건을 만족하는 원소에 대해서 새로운 리스트를 만들 수 있다. 1. for문을 사용한 예시 예시 1 numbers = [num for num in range(1, 10)] print(numbers) >>> [1, 2, 3, 4, 5, 6, 7, 8, 9] 위 예시는 1부터 10 사이에 있는 숫자들을 리스트에 담고 있다. 예.. 2022. 3. 6.
[Python] 일급 객체 (first-class citizen) 파이썬은 객체 지향 프로그래밍(object-oriented programming)으로, 일급 함수라는 개념을 가지고 있다. 파이썬에서의 객체는 숫자, 문자열, 튜플, 리스트, 딕셔너리, 함수를 포함하고 있다. 그중에서도 일급 객체란 아래의 조건을 만족하는 객체를 의미한다. 1) 변수 또는 자료구조에 할당 가능 2) 매개변수로 전달 가능 3) 리턴 값으로 사용 가능 함수는 일급 객체의 조건을 만족한다. 따라서 변수와 자료구조에 할당할 수 있고, 매개변수로 전달 가능하며 리턴 값으로도 사용할 수 있다. 1. 변수 또는 자료구조에 할당 가능 1) 변수에 함수 할당 함수를 정의 후 새로운 변수에 담아 출력하면 같은 결과가 나오는 것을 볼 수 있다. def add(a, b): return a + b x = add.. 2022. 3. 6.