일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 백준위
- 코테
- 백준
- 우테코
- it 이슈
- 프로그래머스
- SSAFY
- IT 트렌드
- 신문스크랩
- 코딩테스트 연습
- java 객체지향 프로그래밍
- 인앱결제
- SSAFYcial
- KT
- 싸피셜
- 네트워크 관리사 2급 실기
- Java
- 네트워크 관리사
- 카카오
- 코딩테스트
- 네트워크 관리사 2급
- SSAFY 7기
- 싸피
- IT 동향
- 리얼클래스
- html
- python
- it 뉴스
- 구글
- 신문 스크랩
- Today
- Total
개발자일걸요..?
문자열 내 마음대로 정렬하기 본문
링크 : https://programmers.co.kr/learn/courses/30/lessons/12915
코딩테스트 연습 - 문자열 내 마음대로 정렬하기
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱
programmers.co.kr
(프로그래머스>코딩테스트 연습>연습문제>문자열 내 마음대로 정렬하기(level1))
<문제>
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.
- strings는 길이 1 이상, 50이하인 배열입니다.
- strings의 원소는 소문자 알파벳으로 이루어져 있습니다.
- strings의 원소는 길이 1 이상, 100이하인 문자열입니다.
- 모든 strings의 원소의 길이는 n보다 큽니다.
- 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.
<내가 작성한 코드>
def solution(strings, n):
return sorted(strings, key=lambda x:(x[n],x))
<참고한 개념>
sorted(arr, key = lambda x : x[n]) -> key 인자에 함수를 넘겨주면 해당 함수의 반환값을 비교하여 순서대로 정렬
=> x[n] 값을 x에 넘겨주고, x를 기준으로 arr 정렬
sorted(arr, key = lambda x : (x[n],x)) -> 위 함수의 결과 안에서 다음 두 번째 인자를 기준으로 내림차순으로 정렬
=> x[n] 값을 x에 넘겨주고, x를 기준으로 arr 정렬, 그리고 같은 값을 가졌던 x[n]을 x를 기준으로 내부 재정렬
'알고리즘코딩 > Programmers' 카테고리의 다른 글
최대공약수와 최소공배수 (0) | 2021.07.25 |
---|---|
예산 (0) | 2021.07.25 |
나누어 떨어지는 숫자 배열 (0) | 2021.07.25 |
같은 숫자는 싫어 (0) | 2021.07.25 |
두 정수의 합 (0) | 2021.07.25 |