일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- nestjs
- 프로그래머스
- 코테준비
- nestjs공부
- 플러터 개발
- JPA스터디
- Kafka
- querydsl
- 스프링 공부
- 카프카
- nestjs스터디
- 기술공부
- 기술면접공부
- 알고리즘공부
- 플러터 공부
- JPA
- 스프링공부
- JPA 공부
- 자료구조공부
- Flutter
- Axon framework
- DDD
- K8S
- JPA예제
- 스프링부트공부
- 코테공부
- 자바공부
- 스프링
- 스프링부트
- JPA공부
- Today
- Total
목록Algorithm/[Sort] (8)
DevBoi
https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net
https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net
https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 해당은 간단하다. 문자열을 int로 받아서, 새로운 배열에 넣어주고, 해당 배열을 역순출력해주면 된다.
https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 대표적인 정렬이다. 객체 object로 받아서, 해당 object가 Comparable에 대한 걸 impl하게 하고, 해당 compareTo를 오버라이드해서 객체의 비교조건을 구현, 해당 객체를 비교해주면, 끝난다. foreach가 돌때, 객체의 특정 이름만 필요하기 때문에, word의 이름만 출력해준다.
https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net ATM 풀이이다. 간단하게, 정렬을 하고, foreach로 부분합을 구하는 것이다. 부분합을 구한뒤에, 다음 each가 돌기전에 list에 add를 해주고, 마지막에 List의 값을 다 합해주면 된다. list2.indexOf(object) 를 사용해서, 해당 인덱스를 구하는 방법이 있다. 인덱스가 필요할때는, 전통적인 for문이 최적화가 되어있어, 빠르기때문에 해당 방법으로 돌려주면 좋고 인덱스를 굳이 사용해야하는지에 대한 ..
https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 해당 관련되서는, 퀵정렬을 사용해서 풀었다. 퀵정렬은 처음 값을 pivot으로 놓고, 재귀를 통해서 무한히, pivot보다 작으면 오른쪽 , 크면 왼쪽 배열로정렬하는 것이다. 그러면 그 안에서도 정렬이 필요하기 때문에, 재귀로 구현한다. 해당 안에서 정렬을 하고 왼쪽 pivot 오른쪽 으로 addAll을 통해, 배열을 합친다. 해당 방법으로 합치게 되면, 정렬 된 배열을 만들 수있다. (재귀로 한다면) 소스 참고