Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 코딩더매트릭스
- 선형대수
- 딥러닝
- LSTM
- 알고리즘
- effective python
- tensorflow
- hive
- hadoop2
- 그래프이론
- Sort
- scrapy
- codingthematrix
- 텐서플로
- NumPy
- C언어
- Java
- C
- 하둡2
- 주식분석
- 하이브
- HelloWorld
- recursion
- graph
- 파이썬
- GRU
- collections
- python
- yarn
- RNN
Archives
- Today
- Total
EXCELSIOR
[Level1]문자열 내 마음대로 정렬하기 (strange_sort) 본문
1. 문제
strange_sort함수는 strings와 n이라는 매개변수를 받아들입니다.
strings는 문자열로 구성된 리스트인데, 각 문자열을 인덱스 n인 글자를 기준으로 정렬하면 됩니다.
예를들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1인 문자 u, e ,a를 기준으로 정렬해야 하므로 결과는 ["car", "bed", "sun"]이 됩니다.
strange_sort함수를 완성해 보세요.
2. 풀이
1) 내가 작성한 코드
- itemgetter 모듈을 import 하여 문제를 해결하였다.
from _operator import itemgetter def strange_sort(strings, n): '''strings의 문자열들을 n번째 글자를 기준으로 정렬해서 return하세요''' return sorted(strings, key=itemgetter(n)) # 아래는 테스트로 출력해 보기 위한 코드입니다. print( strange_sort(["sun", "bed", "car"], 1) )
2) 다른 풀이
- lambda를사용하여 풀었는데, lambda 대해 공부해야겠다.
def strange_sort(strings, n): '''strings의 문자열들을 n번째 글자를 기준으로 정렬해서 return하세요''' return sorted(strings, key=lambda x: x[n]) strings = ["sun", "bed", "car"] print(strange_sort(strings, 1))
3. 알아둘 것
1) 람다(lambda) 함수
- 축약함수이며 함수와 같은 기능을 한다.
- 표현식
lambda 인자 : 표현식
2) 예제 코드
① 인수
def hap(x,y): return x + y print(hap(10, 20)) print((lambda x,y: x + y )(10,20)) #한줄로 나타낼 수 있다!
②함수의 인수로 사용 예
f = lambda g,a,b:g(a,b) def g(x,y): return x*y print(f(g,2,3)) >> 6 ## lambda로 나타내기 def f(g,a,b): return g(a,b) print(f(lambda a,b:a*b, 2,3)) >> 6
③ 가변인자 : 튜플형
def func(*arg): return arg print(func(1,2,3,4,5,6,7)) >> (1,2,3,4,5,6,7) ##lambda로 나타내기 f = lambda x,*arg : x + arg print(f((1,2),3,4,5,6)) #arg가 튜플형이므로 x도 튜플형이어야 한다. >>(1,2,3,4,5,6)
[출처: http://thrillfighter.tistory.com/356]
'Python > 알고리즘_문제' 카테고리의 다른 글
[Level1] 같은 숫자는 싫어 (no_continuous) (4) | 2016.11.02 |
---|---|
[Level1] 딕셔너리 정렬 (sort_dictionary) (0) | 2016.10.24 |
[Level1] 문자열 내 p와 y의 개수 (numPY) (0) | 2016.10.22 |
[Level1] 문자열 다루기 기본 (alpha_string46) (0) | 2016.10.20 |
[Level1] 삼각형출력하기 (PrintTriangle) (0) | 2016.10.20 |
Comments