99클럽 코테 스터디 8일차 TIL

수삼·2024년 11월 4일
0

코딩테스트

목록 보기
13/44

import java.io.*;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        Map<String, Integer> map = new HashMap<>();

        int weekCnt = Integer.parseInt(br.readLine());
        StringTokenizer st;

        for(int i = 0; i < weekCnt * 4; i++) {
            int workingTime = i % 4 == 0 || i % 4 == 2 ? workingTime = 4 : i % 4 == 1 ? workingTime = 6 : 10;
            st = new StringTokenizer(br.readLine());
            while (st.hasMoreTokens()) {
                String nt = st.nextToken();
                if(map.containsKey(nt)) {
                    map.put(nt, map.get(nt) + workingTime);
                } else {
                    map.put(nt, workingTime);
                }
            }
        };

        br.close();

        if(map.containsKey("-")) {
            map.remove("-");
        }

        if(map.size() == 0) {
            System.out.println("Yes");
        } else {
            int max = Collections.max(map.values());
            int min = Collections.min(map.values());
            if (max - min > 12) {
                System.out.println("No");
            } else {
                System.out.println("Yes");
            }
        }
    }
}

걸린 시간 59분

  1. map이랑 bufferedReader, stringTokenizer를 많이 안써봐서 오늘 배우면서 썼다
  2. -를 for문에서 매번 제거하기보다는 한 번에 지우고 싶어서 for문 밖에서 지웠는데 유의미한 성능 차이가 있을까 궁금
  3. 근무자가 아무도 없는 경우를 생각 못해서 10분정도 버렸다.. 결국 검색으로 알아챔

0개의 댓글