본문 바로가기

전체 글103

카카오 2019 공채 실패율 문제 JAVA 풀이 굉장히 단순한 문제였는데 stage순서로 정렬을 하고 stage배열 안에 들어가있는 개수가 그 stage에 도달한 사람이고 배열안에 있는 숫자가 도달했으나 클리어하지 못한 사람이다. 참조한 배열의 요소를 하나씩 지워가며 실패율을 계산하고 그것을 다시 정렬해주면 끝나는 문제다. 계속 여러가지가 컴파일에러가 발생했는데.. 그것은 그 스테이지에 도달한 사람이 없을 경우 0으로 처리하는 예외처리를 해주지 않아서 발생한 문제였다.. import java.io.*; import java.util.*; import java.util.Collections; class stage{ int stage; float failer; stage(int a, float b){ this.stage = a; this.failer = .. 2020. 9. 16.
백준 18310번 안테나 JAVA 너무 나도 쉬운 문제다.. 너무 나도 쉬운 문제다.. 단순히 중간값(배열의 중앙에 있는 값)을 띄우면 최소가 된다. public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int homeNum = Integer.parseInt(br.readLine()); int []distance = new int[homeNum]; int []homes = new int[homeNum]; int i=0; StringTokenizer st = new StringTokenizer(br.readLine()); while (st.hasMoreTo.. 2020. 9. 16.
백준 16234번 인구이동(JAVA) DFS로 조건에 맞도록 제한을 걸어주면 쉽게 풀 수 있는 문제였다. 다만.. 시간 초과가 계속 발생하였는데.. if(count==1){ checked[i][j]=1; count=0; people=0; continue; } 이 부분을 추가하지 않아서 내부의 for문을 계속 돌다보니 O(N^4)의 시간복잡도가 발생했기 때문에 당연히 시간초과가 발생하였다.. 최종 결과는 다음과 같다. import java.io.*; import java.util.*; import java.util.stream.Collectors; public class Main { static int people=0; static int count=0; static int visitedNum=0; public static void dfs(i.. 2020. 9. 11.
카카오 기출 무지의 먹방 라이브 효율성은 둘째치고 왜 답이 안맞지.. import java.io.*; import java.util.*; class FoodPlate implements Comparable{ int index; int time; FoodPlate(int index, int time){ this.index=index; this.time=time; } public int getTime() { return time; } public int getIndex(){ return index; } @Override public int compareTo(FoodPlate foodPlate) { int time = foodPlate.getTime(); if(this.time>time) return 1; else if(this.time==.. 2020. 9. 9.