분류 전체보기
-
[프로그래머스] 야근지수코딩테스트 문제풀이 2021. 10. 6. 22:51
문제 풀이 import java.util.*; class Solution { public long solution(int n, int[] works) { long answer = 0; PriorityQueue pqWorks = new PriorityQueue(Collections.reverseOrder()); int sum = 0; for (int work : works) { sum += work; pqWorks.offer(work); } if (n > sum) return answer; while (n > 0) { Integer maxWork = pqWorks.poll(); n--; pqWorks.offer(maxWork - 1); } answer = getOvertimeWorkingRate(pqWor..
-
[백준 2798] 블랙잭코딩테스트 문제풀이 2021. 10. 6. 22:21
문제 풀이 import java.util.Scanner; public class Main { static int max = 0; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int m = scanner.nextInt(); int[] cards = new int[n]; for (int i = 0; i < n; i ++) { cards[i] = scanner.nextInt(); } scanner.close(); boolean[] used = new boolean[n]; permutation(cards, new int[3], 0, used, m); System..
-
[프로그래머스] 베스트앨범 - 해시코딩테스트 문제풀이 2021. 10. 2. 16:25
문제 풀이 import java.util.*; class Solution { public int[] solution(String[] genres, int[] plays) { int[] answer = {}; List answerList = new ArrayList(); Map genresPlayCount = new HashMap(); for (int i = 0; i < genres.length; i++) { String genre = genres[i]; int playCount = plays[i]; genresPlayCount.put(genre, genresPlayCount.getOrDefault(genre, 0) + playCount); } List genreRankList = new ArrayList..
-
[백준 11279] 최대힙 - 우선순위 큐코딩테스트 문제풀이 2021. 10. 2. 15:01
문제 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.PriorityQueue; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); PriorityQueue heap = new PriorityQueue((o1, o2) -> o2 - o1); int N = Integer.parseInt(br.r..
-
[프로그래머스] 소수 찾기 - 완전탐색코딩테스트 문제풀이 2021. 10. 2. 00:18
문제 풀이 import java.util.*; class Solution { public int solution(String numbers) { int answer = 0; Set allNumbers = new HashSet(); getAllNumbers(allNumbers, numbers, ""); for (Integer num : allNumbers) { if (isPrime(num)) answer++; } return answer; } public void getAllNumbers(Set allNumbers, String numbers, String numStr) { if (!numStr.equals("")) allNumbers.add(Integer.parseInt(numStr)); if (numb..
-
[JAVA] 인터페이스와 추상클래스개발/JAVA 2021. 10. 1. 00:16
1. 인터페이스(interface) 와 추상클래스(abstract class) - 인터페이스 상수(static final)와 추상 메서드(abstract method)의 집합. 생성자를 가질 수 없음. 객체화 불가능. 인터페이스에 선언된 상수와 추상 메서드는 public static final 과 public abstract 를 생략해도 됨. 컴파일시 자동 생성된다. interface를 implements 함으로써 구현체에서 사용 가능. 보통 ~able 로 네이밍함. 다중상속 가능. 자바8부터 Defulat Method 사용 가능 Defulat Method는 interface를 구현한 구현체에서 해당 method를 override 할 필요가 없음. 모두 같은 메소드. interface playable {..
-
[JAVA] Exception개발/JAVA 2021. 9. 30. 23:52
1. Exception 이란 사용자의 잘못된 조작이나 개발자의 코딩 실수로 인해 발생하는 프로그램 오류. Error와 다르게, Exception을 처리하여 프로그램을 정상화 시킬수 있음. 2. Exception 종류 - 일반 예외 (Checked Exception) 컴파일 과정에서 예외처리 여부를 검사함. 개발자가 반드시 처리해야 하는 예외, 예외 처리를 하지 않으면 컴파일 에러 발생. IDE에서 빨간줄 IOException, SQLException 등 - 실행 예외 (Unchecked Exception = Runtime Exception) 컴파일 과정에서 예외처리 여부를 검사하지 않음. 개발자가 예외처리를 직접 하지 않아도 됨. 명시적인 예외 처리가 강제되는 것이 아니다. IDE에서 빨간줄 뜨지 않는 ..
-
면접준비그 외/면접준비 2021. 9. 22. 14:27
이 모든 자료는 티스토리 망나니 개발자님의 글인 점 참고 바랍니다 1. CS 기술 면접 질문 - 프로그래밍 공통 (1/8) 1. 프로그래밍 공통 [ OOP란 ] OOP는 현실 세계를 프로그래밍으로 옮겨와 현실 세계의 사물들을 객체로 보고, 그 객체로부터 개발하고자 하는 특징과 기능을 뽑아와 프로그래밍하는 기법입니다. OOP로 코드를 작성하면 재사용성과 변형가능성을 높일 수 있습니다. [ OOP의 5가지 설계 원칙 ] SRP(Single Responsibility Principle, 단일 책임 원칙): 클래스는 단 하나의 목적을 가져야 하며, 클래스를 변경하는 이유는 단 하나의 이유여야 한다. OCP(Open-Closed Principle, 개방 폐쇠 원칙): 클래스는 확장에는 열려 있고, 변경에는 닫혀 ..