전체

    백준 17406 배열 돌리기4(구현)

    https://www.acmicpc.net/problem/17406 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net 1. 배열에 대해서 permutation을 돌리는 기법이 자바에서 구현하기 많이 힘들었다. ==> row에 대한 인덱스들만 따로 모은 1차원 배열을 permutation 돌리는 기법으로 하는게 정석인 것 같음 2. rotation 시키는 방법 2-1. (in java) list에 넣고 Collections.rotate() 2-1-1 (in python) queue.r..

    Java8

    1. 람다 표현식(lambda expresssion) : 함수형 프로그래밍(익명함수) Q. 함수랑 메소드랑 다른가? 함수 : 특정 작업을 수행하는 독립적인 존재(알고리즘 할 때 따로 구현하는 function() 생각하면 될 듯) 메소드(클래스함수) : 클래스, 구조체, 열거형에 포함되어 있는 함수, 해당 클래스에 대한 객체가 생성되어 사용 가능 ★ 자바에서는 클래스의 선언과 동시에 객체를 생성하므로, 단 하나의 객체만을 생성할 수 있는 클래스를 익명 클래스라 함 따라서 자바에서 람다 표현식은 익명 클래스와 같다고 할 수 있다 new Object() { int min(int x, int y) { return x x x < y ? x : y; // 추상 메소드의..

    Java 순열과 조합

    package practice; import java.util.Arrays; import java.util.Scanner; public class PermutationTest1 { static int n; static int r; static char[] numbers; static boolean[] visited; static int res; static char[] data = {'a','b','c','d','e'}; //nPn //nPr public static void main(String[] args) { Scanner sc = new Scanner(System.in); n = sc.nextInt(); r = sc.nextInt(); res = 0; numbers= new char[r]; vis..

    Java 코딩테스트를 위한 문법

    Java 코딩테스트를 위한 문법

    static 정적 변수의 속도에 대한 고찰 static 변수를 만들어서 참조하면 지역변수(파라미터)보다 시간이 많이 소요. 시간에 예민한 문제들은 int 변수 1개라도 파라미터로 선언해주자 Scanner sc = new Scanner(System.in); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) sc.nextByte()// byte 형 입력 및 리턴 sc.nextShort()// short 형 입력 및 리턴 sc.nextInt()// int 형 입력 및 리턴 sc.nextLong()// long 형 입력 및 리턴 sc.nextFloat()// float 형 입력 및 리턴 sc.nextDouble()// double ..

    Java 직렬화

    books.dat 이라는 파일을 읽어들일때 직렬화를 해서 객체에 할당을 하려고 한다. class Person implements java.io.Serializable{ String transient name; int age; public Person(String name, int age) { this.name = name; this.age = age; } } 객체를 만들 때 보통 "이지원", 18이라고 하게되면 알맞게 저장이 되지만 위처럼 name에 대해서 직렬화를 시키지 않겠다라고 선언해버리면 name에 대한 부분이 저장이 되지 않는다. File.separator File.separator는 프로그램이 실행 중인 OS에 해당하는 구분자를 리턴한다. File file = new File("/tmp/" +..

    Java 예외 처리

    Java 예외 처리

    package exception; public class MainExceptionHanding { public static void main(String[] args) { int[] arr = { 1, 2, 3, 4, 5 }; int x = 10; for (int i = 0; i