목록분류 전체보기 (146)
It's easy, if you try
Final final은 메소드, 클래스, 변수에 붙여서 사용합니다. 1. Immutable 변수 final 변수 선언 시 추후에 수정이 불가합니다. final int COOKIE_SIZE = 3; 추후에 수정할 수 없기 때문에 초기화가 필수입니다. 2. final 함수 메소드 오버라이트를 제한합니다. 3. final 클래스 상속이 불가능한 클래스가 됩니다. Wrapper Class 도 final 클래스에 해당됩니다. Static과의 차이점 static은 모든 인스턴스에 공통된 값을 유지합니다. 또한, 메모리에 한번 할당되어 프로그램이 종료될 때 해제됩니다. static 또한 메소드, 클래스, 변수에 사용될 수 있습니다. static 변수는 정적 필드, static 메소드는 정적 메소드라고도 합니다. 이 ..
문제 17089번: 세 친구 첫째 줄에 사람의 수 N(3 ≤ N ≤ 4,000), 친구 관계의 수 M(0 ≤ M ≤ 4,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계를 의미하는 두 정수 A, B가 주어진다. 친구 관계는 A와 B, 그리고 B와 A가 친 www.acmicpc.net 풀이 A,B,C가 친구여야 한다는 점을 주의해야합니다! 이 점이 3중 for문 작성을 가능하게 하기 때문입니다. (친구가 아닌 경우 가지치기 가능) import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedRea..
📌 에러 내용 Execution failed for task ':compileJava'. > invalid source release: 11 JDK 버전과 project language level이 달라서 생기는 에러입니다. 📌 해결 방법 File -> Project Structure 저는 Project language level 이 11로 설정 되어있었고, 이는 SDK 1.8 버전과 맞지 않아서 생긴 오류였습니다! SDK default로 설정하면 됩니다. 참고로, SDK의 java 버전을 JDK라고 이해할 수 있습니다! 설정을 하고 build, run을 해도 같은 에러가 발생합니다. build.gradle 파일로 들어가서 sourceCompatibility 를 SDK default 버전(저와 같은 경우..
문제 https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 풀이 import java.io.*; import java.util.*; class Solution { public int solution(String s) { int answer = 0; Stack st = new Stack(); for(char c: s.toCharArray()) { if(!st.isEmpty() && st.peek() ==..
문제 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { static int[] list, nums; static StringBuilder sb; public static void main(String[] args) throws Exception { BufferedReader br = new ..
문제 https://www.acmicpc.net/problem/10211 10211번: Maximum Subarray 크기 N인 정수형 배열 X가 있을 때, X의 부분 배열(X의 연속한 일부분) 중 각 원소의 합이 가장 큰 부분 배열을 찾는 Maximum subarray problem(최대 부분배열 문제)은 컴퓨터 과학에서 매우 잘 알려져 있 www.acmicpc.net 풀이 1. 분할 정복(이분 탐색) 풀이 import java.util.*; import java.io.*; public class Main_BOJ_10211_MaximumSubarray { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); st..
문제 https://programmers.co.kr/learn/courses/30/lessons/72411?language=java 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 풀이 import java.util.*; class Solution { static HashMap hm; public String[] solution(String[] orders, int[] course) { hm = new HashMap(); for(String o: orders) { char[] order = o.toCharArr..
Map map = new HashMap(); map.put("a", 3); map.put("b", 2); map.put("c", 1); List entryList = new LinkedList(map.entrySet()); entryList.sort(((o1, o2) -> map.get(o1.getKey()) - map.get(o2.getKey()))); for(Map.Entry entry : entryList){ System.out.println("key : " + entry.getKey() + ", value : " + entry.getValue()); } //key : c, value : 1 //key : b, value : 2 //key : a, value : 3
문제링크: https://www.acmicpc.net/problem/1766 풀이 import sys input = sys.stdin.readline import heapq n, m = map(int, input().split()) tree = [[] for _ in range(n+1)] inDegree = [0 for _ in range(n+1)] for _ in range(m): a, b = map(int, input().split()) tree[a].append(b) inDegree[b] += 1 q = [] for i in range(1,n+1): if inDegree[i] == 0: # 차수가 0 인 문제를 최소 힙에 push heapq.heappush(q, i) result = [] while..
문제 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어질 때, 모든 사람이 심사를 받는데 걸리는 시간의 최솟값을 return 하도록 solution 함수를 작성해주세요. 제한사항 입국심사를 기..