본문 바로가기

정렬5

[백준 -실버5] 10989번 수 정렬하기 3(정렬, 파이썬) https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net - 이 문제는 N이 최대 1000만이다. 따라서 리스트에 1000만개를 담아버리면 메모리 초과가 뜰 수 있다. - 그래서 문제에서 주어진 조건대로 주어지는 수는 최대 10000인것을 이용했다. - result 리스트의 인덱스는 입력 받은 값을 나타내게 되고, 숫자가 입력이 들어오면 갯수를 카운트 해준다. - 이중 반복문을 통해 모든 값을 출력한다. import sys N = int(sys.stdin.readline(.. 2022. 2. 5.
[백준 -실버5] 11651번 좌표 정렬하기2(정렬, 2차원 리스트 정렬, 파이썬) https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net - lambda를 이용해서 2차원 리스트를 원하는 기준으로 정렬 할 수 있다. - 따라서 y를 기준으로 정렬했고, y가 같은 경우 x를 기준으로 정렬했다. import sys n = int(input()) pos = [] for _ in range(n): x,y = map(int, input().split()) pos.append([x,y].. 2022. 2. 5.
[백준 -실버2] 18870번 좌표 압축(정렬, 파이썬) https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net - 입력을 받은 후 nums배열에 값과 인덱스를 다시 저장해주었다. - 그리고 값을 기준으로 정렬했다. - 가장 작은 값부터 정렬 되기 때문에 다음 값과 값이 다를때 cnt를 하나씩 증가시키면서 결과 배열에 담았다. import sys input = sys.stdin.readline n = int(input()) temp = list(map(int.. 2022. 2. 5.
[프로그래머스 - Level 2] 가장 큰 수(정렬, 파이썬) https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr - 문제를 봤을때 이걸 순열을 써야하나 고민을 했는데,, 그럼 시간초과도 나올거같고 숫자 붙이기가 귀찮아진다. - 이 문제에서 배운 점 : str(숫자)를 정렬할때 아스키코드 기준으로 정렬이 되어서 첫번째 인덱스 값으로만 정렬이 된다. - 원하는 대로 정렬이 안되어서 정렬을 할때 x*3으로 맞춰주었.. 2022. 1. 24.