목록데이터 엔지니어링 정복/Algorithm (159)
지구정복
https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net -문제해설 x좌표의 오름차순으로 정렬하는데 x좌표가 같은 경우에는 y좌표 오름차순으로 정렬하는 문제이다. 맨 처음 Arrays.sort써도 될까 싶었는데 다행히 통과됐다. Arrays.sort의 익명함수를 사용해서 풀었다. 파이썬에서는 x좌표를 리스트의 인덱스, y좌표를 해당 인덱스의 값으로해서 풀었다. 이때 x좌표가 -100,000 ~ 100..
https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net -문제해설 Arrays.sort로 절대 풀 수 없다. 입력받는 값을 배열 인덱스로 설정하고 해당 인덱스의 값을 1씩 증가시켜줘야한다. 만약 중복되는 값 1이 세 번 입력된다면 arr[1] = 3이된다. 답을 출력할 때는 3이 0이 될 때까지 해당 인덱스 값을 계속 출력한다. 3 -> 1 출력 2 -> 1 출력 1 -> 1 출력 0 -자바 package sort; import java.io.BufferedReader..
https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net -문제해설 먼저 자바로는 사용자 클래스를 정의하고 Arrays.sort 익명함수를 이용해서 사용자 객체를 정렬했다. 사용자 객체의 필드값으로는 나이, 이름, 회원가입한 순서 3가지가 있고 익명함수를 재정의할 때는 나이가 같은 경우 회원가입순서를 오름차순으로 정렬하고 그 외에는 나이를 오름차순 정렬한다. 파이썬에서는 리스트를 이용해서 풀어봤다. 자바에서도 배열로 풀면 훨씬 성능이 좋을 것 같다. 리스트 ..
https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net -문제해설 처음에 Arrays.sort 익명함수로 북치고 장구치다가 도저히 답이 안나와서 다른 사람 풀이 아이디어를 봤는데 너무 허망했다... 난 왜 항상 어렵게 풀려고 하는지 모르겠다 ㅎㅎ; 미리 sum = n이라는 변수를 지정한 다음 이중포문으로 하나의 값을 나머지 값들과 비교하면서 하나의 값이 나머지 값보다 크거나 같은 경우 sum-- 해주고 곧바로 출력하면 해결되는 문제였다. ..