티스토리 뷰
백준 11650번, 11651번 좌표 정렬하기 문제입니다.
11650번과 11651번 문제는 사실상 같은 문제라 한 번에 다루도록 하겠습니다.
두 문제는 주어진 좌표에 대해 x 좌표에 대해 먼저 정렬하고 값이 같은 경우,
y 좌표에 대해서 정렬하는 문제 입니다.
11651번 문제는 그 반대의 경우입니다. ( y 좌표 먼저 정렬, 그 후 x 좌표 정렬)
처음 작성한 코드입니다.
가장 처음 구상했을 때 x 좌표와 y 좌표를 다른 리스트로 구분해서 정렬하려 했지만
두 리스트를 한 번에 다룰 방법이 생각나지 않아 다른 방법으로 하게 되었습니다.
위 코드는
하나의 리스트에 좌표를 넣고
하나의 x 좌표와 그다음 index의 x좌표를 비교하여 정렬하고
만약 두 x 좌표가 같을 경우 y좌표로 정렬하는 코드입니다.
리스트 내 좌표들이 제대로 정렬되어 이동하지 않을 때까지 while 문으로 반복시켜 주었습니다.
이렇게 코드를 작성하고 제출하니 '시간 초과' 실패가 되었습니다.
이후 작성한 코드입니다.
sorted() 사용하여 정렬 기준에 따라 정렬할 수 있도록 하는 코드입니다.
sorted() 함수는 sort() 함수와 같이 정렬의 기능은 똑같지만
sort()는 기존의 리스트 자체를 정렬하는 것이고,
sorted()는 정렬하여 새로운 리스트로 반환해주는 것입니다.
sorted() 함수는 위의 코드와 같이 key 매개 변수를 활용하여 특정 데이터를 기준으로 정렬할 수 있습니다.
key = lambda x: (x[0], x[1]))
위 코드는 리스트 내 요소 x에 대해 x [0](x 좌표)로 먼저 정렬하고,
그 이후에 x [1](y 좌표)로 정렬하는 것을 말합니다.
이상 11650, 11651번 좌표 정렬하기 문제였습니다!
내용에 이상이 있거나
제가 참고할 만한 내용은 언제든 댓글로 달아주세요!!
'PYTHON' 카테고리의 다른 글
[프로그래머스/PYTHON] 전화번호 목록 (1) | 2021.01.05 |
---|---|
[프로그래머스/PYTHON] 주식 가격 (1) | 2020.12.30 |
[BAEKJOON/PYTHON] 10989번 : 수 정렬하기 3 (0) | 2020.07.14 |
[BAEKJOON/PYTHON] 1427번 : 소트 인사이드 (0) | 2020.07.13 |
[BAEKJOON/PYTHON] 2798번 : 블랙잭 (0) | 2020.05.02 |
- Total
- Today
- Yesterday
- SPA
- 상호평가
- GraphQL
- reactrouter
- bundler
- Vue.js
- error
- Preloading
- webpack
- python
- redux
- redux-thunk
- 문제풀이
- Vue
- clean code
- Repository Pattern
- SOAP API
- v-for
- 알고리즘
- Vuex
- 프로그래머스
- 파이썬
- TypeScript
- React
- js
- Transpiler
- React.memo
- 백준
- programmers
- AxiosInterceptor
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |