728x90
반응형
SMALL
안녕하세요. delay100 입니다.
미들러 문제.선택의 기로
https://www.acmicpc.net/problem/30970
30970번: 선택의 기로
첫 번째 줄에는 첫 번째 방법을 선택했을 때의 첫 번째로 고른 촉석루 미니어처의 품질과 가격, 두 번째로 고른 촉석루 미니어처의 품질과 가격을 공백으로 구분하여 순서대로 출력한다. 두 번
www.acmicpc.net
가격(pay)과 품질(quality)을 기준으로 정렬을 하면 되는 문제입니다.
chock객체로 pay와 quality를 묶어두고, 문제에서 제시한 조건을 기반으로 총 2번의 정렬을 했습니다.
정렬 시 java의 comparator을 이용하였습니다.
import java.io.*;
import java.util.*;
class chock {
int quality;
int pay;
chock(int quality, int pay) {
this.quality = quality;
this.pay = pay;
}
int getQuality() {
return this.quality;
}
int getPay() {
return this.pay;
}
}
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
chock[] chockList = new chock[N];
for(int i=0; i<N; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int quality = Integer.parseInt(st.nextToken());
int pay = Integer.parseInt(st.nextToken());
chockList[i] = new chock(quality, pay);
}
StringBuilder sb = new StringBuilder();
Arrays.sort(chockList, new Comparator<chock>() {
@Override
public int compare(chock o1, chock o2) {
if(o1.getQuality() < o2.getQuality()) return 1; // 품질을 기준으로 내림차순 정렬
else if(o1.getQuality() == o2.getQuality()) {
if(o1.getPay() > o2.getPay()) return 1; // 품질이 같은 경우 가격을 기준으로 오름차순
}
return -1;
}
});
sb.append(chockList[0].getQuality() + " " + chockList[0].getPay() + " " + chockList[1].getQuality() + " " + chockList[1].getPay());
sb.append("\n");
Arrays.sort(chockList, new Comparator<chock>() {
@Override
public int compare(chock o1, chock o2) {
// return Integer.compare(o1.getPay(), o2.getPay());
if(o1.getPay() > o2.getPay()) return 1; // 가격을 기준으로 오름차순 정렬
else if(o1.getPay() == o2.getPay()) {
if(o1.getQuality() < o2.getQuality()) return 1; // 가격이 같은 경우 품질을 기준으로 내림차순
}
return -1;
}
});
sb.append(chockList[0].getQuality() + " " + chockList[0].getPay() + " " + chockList[1].getQuality() + " " + chockList[1].getPay());
bw.write(sb.toString());
br.close();
bw.close();
}
}
w
+ 비기너 문제
골뱅이 찍기 - 돌아간 ㅍ (https://www.acmicpc.net/problem/23812)
23812번: 골뱅이 찍기 - 돌아간 ㅍ
서준이는 아빠로부터 골뱅이가 들어 있는 상자를 생일 선물로 받았다. 상자 안에는 반시계 방향으로 90도 돌아간 ㅍ자 모양의 골뱅이가 들어있다. 돌아간 ㅍ자 모양은 가로 및 세로로 각각 5개
www.acmicpc.net
+ 챌린저 문제
잃어버린 괄호 (https://www.acmicpc.net/problem/1541)
1541번: 잃어버린 괄호
첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다
www.acmicpc.net
감사합니다. 피드백 환영합니다.
728x90
반응형
LIST
'항해99 > 99club1기TIL' 카테고리의 다른 글
[99club/TIL] 5주차 - 토요일 TIL(Today I Learned) (0) | 2024.04.27 |
---|---|
[99club/TIL] 5주차 - 수요일 TIL(Today I Learned) (0) | 2024.04.24 |
[99club/TIL] 5주차 - 월요일 TIL(Today I Learned) (2) | 2024.04.22 |
[99club/TIL] 4주차 - 일요일 TIL(Today I Learned) (1) | 2024.04.22 |
[99club/TIL] 4주차 - 토요일 TIL(Today I Learned) (0) | 2024.04.20 |