본문 바로가기

반응형

분류 전체보기

(168)
[SWEA] 7699번 수지의 수지 맞는 여행 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWqUzj0arpkDFARG&categoryId=AWqUzj0arpkDFARG&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 이해하기 상하좌우로 이동이 가능하지만 같은 명물을 보지 않고 가장 많은 명물을 보는 방법을 찾는 것이다. dfs로 풀 수 있다. 2. 구현하기 dfs(x,y,depth) 현재 위치를 받고 얼마나 많은 명물을 봤는 지를 갱신해준다. 현재 위치의 명물은 본 것이므로 봤다고 표시를 해준다. 함수가 종료될 때는 다시 보..
람다식 람다식 자바에서 함수형(함수를 들고다니고 전달하는 형태의) 프로그래밍을 지원하기 위해 8버전부터 추가한 문법 기본 구조 (매개변수1,매개변수2...) -> { 실행문; 실행문; }; 생략되는 내용 매개변수 자료형 생략 가능 (x,y) -> x>y?x:y; 매개변수 하나일 때는 소괄호 생략 가능 ex> x -> {실행문; 실행문;}; 구현 하려는 함수 내부에 실행문이 하나인 경우 중괄호{} 생략 가능 x->System.out.println("x"); 구현하려는 함수 내부의 실행문이 하나이면서 그게 return이면 중괄호에 return까지 생략 (x,y) -> {return x>y?x:y;}; => (x,y) -> x>y?x:y;
Exception, I/O 자바에서는 프로그램 진행 중 (개발자가 처리 가능한) 예외가 발생했을 경우 관련된 클래스로 객체를 생성하여 그 객체를 전달하려 한다. 개발자가 그 예외객체에 대한 처리를 해놓지 않았을 경우 예외 객체는 JVM한테까지 전달되고 결국 프로그램이 중단된다. 예외Exception(개발자가 조치 가능한)의 종류 개발자의 조치가 불가능한 경우 에러Error 라고 부름. 체크예외 - 컴파일러가 빨간색으로 예외처리를 강제하는 예외 비체크예외 - 컴파일러가 빨간색 표시 안하는데 실행하다 보면 나는 에러(RuntimeException 클래스의 자손 클래스 객체들) 예외에 대한 처리 문법 2가지 직접 try-catch-[finally] 작성하기. 현재 메소드를 호출하는 상위 메소드에게 처리를 위임하기. I/O - Input..
Interface & Collection API Interface 특별히 정의하지 않아도 컴파일 시에 아래 제한자가 추가된다. public static final 제한자가 상수 앞에 붙는다. public abstract 제한자가 메서드 앞에 붙는다. 메서드 overriding 시 항상 public 제한자를 갖아야 한다. Collection API 모든 Collection들은 toString을 구현하고 있기 때문에 그냥 실행해도 결과값이 나온다. Set HashSet 정렬되지 않고 중복을 허용하지 않는다. Hash 같은 입력이 들어가면 같은 결과가 나온다. 다른 입력이 들어가도 같은 결과가 나올 수 있다. 이 경우를 해시 충돌이라 한다. 결과를 가지고 입력을 예상할 수 없다. 이것을 일방향성이라 한다. 빠르다. 인풋 길이에 상관없이 일정 이하 길이의 아..
바이너리 카운팅을 통해 부분집합 생성 public class subset { public static void main(String[] args) { char[] arr = {'a','b','c'}; for(int i = 0; i < (1
Permutation & Combination import java.util.Arrays; public class Permutation { static int[] arr = {1,2,3}; public static void main(String[] args) { perm(arr.length,0); } static void perm(int n, int k) { if(k == n) { System.out.println(Arrays.toString(arr)); return; } for(int i = k; i < arr.length; i++) { swap(k,i); perm(n,k+1); swap(k,i); } } static void swap(int i, int j) { int tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp..
char[] 를 String으로 바꾸는 법 Tip char[] arr; String.valueOf(arr); // 이렇게 하면 String 값으로 반환이 된다. Integer.parseInt(String.valueOf(arr)) // 이렇게 하면 간단하게 int값으로 변환이 가능하다.
[백준] 7662번 이중 우선순위 큐 1. 이해하기 자료구조 트리를 사용하는 법을 물어보는 문제이다. java에서 TreeMap을 사용한다. HashMap은 정렬이 되지 않기 때문에 Key값으로 정렬이 되는 TreeMap을 사용한다. 이때, 값이 int값을 벗어날 수 있으므로 long을 key값으로 저장해준다. 2. 전체코드 package algo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; import java.util.TreeMap; public class Acm7662_이중우선순위큐 { static TreeMap map; public static void..