전체 글
-
operator의 itemgetter를 사용해서 리스트 정렬개발 모음집/Python 2022. 5. 17. 16:20
함수형 프로그램을 위한 패키지중 operator모듈의 itemgetter를 사용해서 리스트를 정렬하는 예제 1. 튜플의 리스트를 생성 2. itemgetter를 import 3. 정렬에 itemgetter를 지정 아래 예제는 item의 배열1번째를 기준으로 정렬을 의미....여기 예제에서는 31/32/34/23/3의 정렬기준으로 데이터를 출력 data = [ ("hansj", 31, 111), ("kim", 32, 222), ("an", 34, 666), ("bang", 23, 444), ("jin", 3, 333), ] from operator import itemgetter for name in sorted(data, key=itemgetter(1)): print(name) print() for na..
-
[프로그래머스] 피보나치 수개발 모음집/Programmers 2022. 5. 17. 16:08
코딩테스트 연습 - 피보나치 수 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = programmers.co.kr 내풀이 def solution(n): pibo_list = [0, 1] for i in range(2, n + 1): pibo_list.append(pibo_list[i-2] + pibo_list[i-1]) return pibo_list[-1] % 1234567
-
[프로그래머스] 최솟값 만들기개발 모음집/Programmers 2022. 5. 17. 15:37
코딩테스트 연습 - 최솟값 만들기 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱 programmers.co.kr 내풀이 def solution(A,B): answer = 0 A = sorted(A) B = sorted(B, reverse=True) for i,j in zip(A, B): answer += i * j return answer 다른방법 1 def getMinSum(A,B): return sum(a*b for a, b in zip(sorted(A), sorted(B, reverse = True))) #아래 코드는 출력을 위한 테스트 코드입니..
-
[프로그래머스] 최댓값과 최솟값개발 모음집/Programmers 2022. 5. 17. 15:28
코딩테스트 연습 - 최댓값과 최솟값 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를 programmers.co.kr 내풀이 def solution(s): answer = '' s = s.split(" ") s = list(map(int, s)) min_value = min(s) max_value = max(s) answer = f"{min_value} {max_value}" return answer 다른방법 1 def solution(s): s = list(map(int,s.split())) return str(min(s)) + " " + str(m..
-
[프로그래머스] 카펫개발 모음집/Programmers 2022. 5. 17. 15:27
코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 다른 사람 풀이 def solution(brown, yellow): total = brown + yellow # 전체 카펫의 칸 for weight in range(total, 2, -1): # 가로 if total % weight == 0: # 카펫넓이에서 가로길이 탐색 height = total // weight # 카펫넓이 / 가로길이를 통해 세로길이 탐색 if yellow == (weight - 2) * (height - 2): return [i, a]
-
[프로그래머스] H-Index (정렬)개발 모음집/Programmers 2022. 5. 13. 09:02
코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr [연구논문을 위한 핵심 10단계] H-지수(H-Index) 란 무엇인가? 일반적으로 특정 연구원의 연구성과를 평가하기 위해 얼마나 많은 논문을 발표 하였는지를 보게됩니다. 그러나 단순히 발표한 논문 수로만 그 연구원의 연구 업적을 평가 하기에는 발표한 논문 www.ibric.org H-index 설명이 프로그래머스에서는 헷갈리게 되어있음. 위 H-지수가 무엇인지 알면 쉽게 풀 수 있음. enumerate를 쓰면 쉽게 풀 수 있음 ..
-
collections 모듈 - OrderedDict개발 모음집/Python 2022. 5. 12. 16:10
1. OrederedDict 란? OrderedDict 는 기본 딕셔너리(dictionary)와 거의 비슷하지만, 입력된 아이템들(items)의 순서를 기억하는 Dictionary 클래스 # 예제1 - sorted()를 이용한 정렬된 OrderedDict 만들기 from collections import OrderedDict # 기본 딕셔너리 d = {'banana': 3, 'apple': 4, 'pear': 1, 'orange':2} # 키(key)를 기준으로 정렬한 OrderedDict ordered_d1 = OrderedDict(sorted(d.items(), key=lambda t:t[0])) print(ordered_d1) ''' 결과 OrderedDict([('apple', 4), ('bana..
-
collections 모듈 - namedtuple개발 모음집/Python 2022. 5. 12. 15:56
# 예제1. tuple() vs namedtuple() # tuple() a = ('John', 28, '남') b = ('Sally', 24, '여') for n in [a, b]: print('%s은(는) %d 세의 %s성 입니다.' %n) ''' 결과 John은(는) 28 세의 남성 입니다. Sally은(는) 24 세의 여성 입니다. ''' import collections # namedtuple() Person = collections.namedtuple("Person", 'name age gender') P1 = Person(name='Jhon', age=28, gender='남') P2 = Person(name='Sally', age=28, gender='여') for n in [P1, P2]..