본문 바로가기

정렬2

[백준 Silver 4] 11656 접미사 배열 - Java 문제링크 : https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 접근 과정 : 문자열 S를 어떻게 자를지 / 접미사들을 어떻게 정렬시켜서 출력할지 두 가지만 생각하면 된다. 문자열을 자르는 방식으로는 substring 메소드와 char를 하나씩 더해주는 방법이 있다. 접미사를 정렬하는 방식에는 우선순위 큐와 배열+Arrays.sort / List+Collections.sort 가 있다. 소스 코드 및 결과 : /* 접미사 배열 */ import java.io.*; import java.util.*; public class Ma.. 2022. 1. 13.
[백준 Silver 3] 10825 국영수 - Java 문제링크 : https://www.acmicpc.net/problem/10825 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net 접근 과정 : 정렬을 위한 비교 메소드를 사용할 수 있는지 묻는 문제인것 같다. 국어, 영어, 수학, 이름 순으로 비교를 해야하고 점수는 숫자이지만 이름은 문자이다. 한번에 비교하고자, score 클래스를 만들어서 사용했다. 조건에 맞게 비교 우위를 설정하고 우선순위 큐에 집어넣어서 출력했다. 소스 코드 및 결과 : package BOJ; /* 국영수 */ imp.. 2022. 1. 7.