🌞Algorithm/🔥Baekjoon

[Baekjoon] 5078_Shirts

뿌야._. 2024. 12. 18. 15:14
문제(출처: https://www.acmicpc.net/problem/5078)

< Shirts >

 

문제 풀이 

 

S, M, L 순으로, 색 순으로 정렬한다.

 

 my solution (Java)

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class _5078_ { // Shirts

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
		ArrayList<String> list = new ArrayList<>();
		int n = 0;
        
		while ((n = Integer.parseInt(bf.readLine())) != 0) {
			for (int i = 0; i < n; i++) {
				list.add(bf.readLine());
			}
            
			n = Integer.parseInt(bf.readLine());
			for (int i = 0; i < n; i++) {
				list.add(bf.readLine());
			}
            
			Collections.sort(list, new Comparator<String>() {
				@Override
				public int compare(String o1, String o2) {
					if (o1.charAt(0) == o2.charAt(0)) {
						return o1.charAt(1) - o2.charAt(1);
					}
					return o2.charAt(0) - o1.charAt(0);
				}
			});
            
			for (int i = 0; i < list.size(); i++) {
				bw.write(list.get(i) + " ");
			}
			list.clear();
			bw.write("\n");
		}
		bw.flush();
	}
}
변수)
n : 옷 개수
list : ArrayList

 

0이 입력되기 전까지 w와 h를 입력받는다. 각 개수만큼 옷 정보를 입력받아 list에 저장한다. S, M, L 순으로 정렬하기 위해 0번째 값 기준 내림차순으로, 색 순으로 정렬하기 위해 1번째 값 기준 오름차순으로 정렬하여 출력한다.



 

'🌞Algorithm > 🔥Baekjoon' 카테고리의 다른 글

[Baekjoon] 21208_Gratitude  (1) 2024.12.20
[Baekjoon] 15282_Frosh Week  (0) 2024.12.19
[Baekjoon] 6108_The Perfect Cow  (0) 2024.12.17
[Baekjoon] 13211_Passport Checking  (0) 2024.12.13
[Baekjoon] 18703_Duplicate Files  (0) 2024.12.12