CodeUp - 1805 : 입체기동장치 생산공장

김준태·2023년 2월 28일
0

코딩테스트

목록 보기
6/13
post-thumbnail

CodeUp - 1805 : 입체기동장치 생산공장

// Class 구현 풀이

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 갯수 입력받기
        int count = scanner.nextInt();
        // 저장소 객체 만들기
        List<Storage> storages = new ArrayList<>();

        for (int i = 0; i < count; i++) {
            // 정보 입력받기
            int id = scanner.nextInt();
            int gas = scanner.nextInt();
            // 입력받은 값 저장소에 저장하기
            storages.add(new Storage(id, gas));
        }
        scanner.close();
        storages = storages.stream()
                // 오름차순으로 정렬하기
                .sorted((e2, e1) -> e2.getId() - e1.getId())
                // 정보 리스트에 담기
                .collect(Collectors.toList());
        // 결과 출력
        for (Storage storage : storages) {
            System.out.printf("%d %d\n", storage.getId(), storage.getGas());
        }
    }
}

class Storage {
    int id;
    int gas;

    public int getId() {
        return id;
    }

    public int getGas() {
        return gas;
    }

    Storage(int id, int gas) {
        this.id = id;
        this.gas = gas;
    }
}
// HashMap 구현 풀이

import java.util.*;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 갯수 입력받기
        int count = scanner.nextInt();
        // 저장소(Map) 만들기
        Map<Integer, Integer> storages = new HashMap<>();

        // 정보 입력받기
        for (int i = 0; i < count; i++) {
            int id = scanner.nextInt();
            int gas = scanner.nextInt();
            storages.put(id, gas);
        }
        // 저장소 키값을 담은 리스트 생성
        // keyset() 정렬까지 해준다.
        List<Integer> storagesKeys = new ArrayList<>(storages.keySet());

        // 결과출력
        for (int storagesKey : storagesKeys) {
            System.out.printf("%d %d\n", storagesKey, storages.get(storagesKey));
        }
    }
}

0개의 댓글