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
- type hint
- 알고리즘 스터디
- queue
- openCV
- Selenium
- 알고리즘스터디
- 자료구조
- pandas
- Join
- 파이썬
- Matplotlib
- Stack
- 선그래프
- String Method
- javascript
- programmers
- 정보처리기사 c언어
- 데이터시각화
- Algorithm
- 노마드코딩
- 프로그래머스
- 백준
- NumPy
- python
- dataframe
- MySQL
- 알고리즘
- aws jupyter notebook
- 코딩테스트
- 가상환경
Archives
- Today
- Total
조금씩 꾸준히 완성을 향해
[Algorithm] 백준 11650 좌표 정렬하기 with Python 본문
DataStructure & Algorithm/문제풀이
[Algorithm] 백준 11650 좌표 정렬하기 with Python
all_sound 2022. 10. 6. 12:43문제
2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.
출력
첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다.
예제 입력 1 복사
5
3 4
1 1
1 -1
2 2
3 3
예제 출력 1 복사
1 -1
1 1
2 2
3 3
3 4
내가 짠 코드
import sys
input = sys.stdin.readline
n = int(input())
li = []
for _ in range(n):
t = tuple(map(int, input().split())) # 입력값을 튜플로 저장
li.append(t) # 튜플을 리스트에 삽입
li.sort() # 리스트 정렬
for i in li:
print(i[0], i[1]) # 리스트 안의 튜플값 출력
x, y좌표는 (x, y) 이렇게 세트로 움직여야 하는 형태이기 때문에 튜플로 받으면 편하겠다는 생각이 가장 먼저 들었다.
x, y의 입력값을 튜플로 받아 리스트에 넣고 sort 함수를 적용시켰다. 그러자 바로 정답이 구현됐다.
리스트 안의 값이 튜플일 때 sorting을 하면, 선행 값이 같은 경우 그 다음 값을 기준으로 자동 정렬을 해주기 때문이다.
마지막으로 정렬된 리스트의 튜플 값들을 x y 형태로 출력해 주면 완성이다!
https://www.acmicpc.net/problem/11650
'DataStructure & Algorithm > 문제풀이' 카테고리의 다른 글
[Algorithm] 백준 1181 단어 정렬 with Python (0) | 2022.10.06 |
---|---|
[Algorithm] 백준 11651 좌표 정렬하기 with Python (0) | 2022.10.06 |
[Algorithm] 백준 1427 소트인사이드 with Python (0) | 2022.10.03 |
[Algorithm] 백준 2750 수 정렬하기 with Python (0) | 2022.10.03 |
[Algorithm] 백준 1157 단어공부 with Python (0) | 2022.09.28 |