자바56 [Algorithm] 조합 코드 구현 (Java) 완전탐색 알고리즘에서 모든 경우의 수를 계산한 후 결과 값을 찾는 방식이 자주 나온다. 그래서 재귀를 통해 조합을 구현하는 방법에 대해서 정리하려고 한다. 이때 기본 형식은 아래와 같다. 1. 조합(Combination) 조합은 고등학교 수학에서 경우의 수를 계산할 때 순열과 조합 파트로 배웠었다. 프로그래밍에서도 수학에서의 순열과 조합과 같다고 생각하면 된다. 잠시 고등학교 수학에서 배운걸 생각해보면 아래와 같다. 순서를 고려하지 않고 선택하는 방법 nCr : n개 중 r개를 순서에 상관없이 선택하는 방법의 수 nCr = nPr/r! / (n-r)!r! 간단히 예시를 들면 {1,2,3} 에서 2개를 뽑는 경우의 수 는 3C2로 3X2/2! = 6. 즉, 3가지가 나온다. {1,2} {1,3} {2,3}.. 2020. 7. 12. [Java] 자바 Collection 1. Collection 이란? Collection 객체는 여러 원소들을 담을 수 있는 자료구조를 말한다. JCF(Java Collections Framework)는 컬렉션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공한다. 다음은 Java 컬렉션 프레임워크의 상속구조를 나타낸다. Map의 경우 Collection 인터페이스를 상속받고 있지 않지만 Collection으로 분류된다. 2. Collection 인터페이스의 특징 2.1 Set 인터페이스 순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는다. HashSet - 가장빠른 임의 접근 속도 - 순서를 예측할 수 없음 TreeSet - 정렬방법을 지정할 수 있음 2.2 List 인터페이스 순서가 있는 데이터의 집합으로 데이터의 .. 2020. 6. 14. [Java-source quality] Redundant Modifier 다음과 같은 인터페이스를 작성하고 commit을 하자 코드 퀄리티 툴에서 경고 메시지를 주었습니다. import org.springframework.web.multipart.MultipartFile; public interface IFileService { public String deleteFile(String filePath) throws RuntimeException; public String restore(MultipartFile multipartFile) throws RuntimeException; } Warning:(9, 5) Modifier 'public' is redundant for interface methods redundant는 불필요한의 뜻으로 인터페이스의 메소드를 위한 publi.. 2020. 5. 29. [Java] JAVA API 도큐먼트 자바 API 도큐먼트 API (Application Programming Interface)는 라이브러리라고 부르기도 합니다. 바로 프로그래밍 개발에 사용되는 클래스 및 인터페이스의 모음을 말합니다. JAVA API 도큐먼트는 이러한 클래스와 인터페이스를 쉽개 찾아 이용할 수 있도록 문서화한 것을 말합니다. 개발자라면 api document를 직접 찾아서 볼 수 있어야합니다. 사이트 주소는 아래와 같습니다. https://docs.oracle.com/javase/8/docs/api/ Java Platform SE 8 docs.oracle.com JAVA API 도큐먼트는 크게 3부분으로 나누어져 있습니다. 좌측 상단 프레임 : 패키지 전체 목록 좌측 하단 프레임 : 패키지에 속하는 클래스와 인터페이스 중.. 2020. 4. 3. [Java] 제네릭(Generic) 1. 제네릭이란? 자바(Java)에서 제네릭(Generic)은 클래스 내부에서 사용하는 데이터의 타입(Type)을 클래스의 인스턴스를 생성할 때 결정하는 것을 의미합니다. 객체의 타입을 컴파일 시점에 체크하기 때문에 타입 안정성을 높이고 형 변환의 번거로움을 줄일 수 있습니다. 즉, 서로 다른 Type 정의에 복수의 Class를 정의하는것보다 제네릭을 통해 Class를 인스턴화할 때 인자와 함께 Type을 넘겨줌으로써 하나의 Class로 복수의 Type을 처리 할 수 있습니다. 아래 간략하게 제네릭(Generic)을 사용하여 선언된 클래스와 객체를 선언한 부분을 살펴보겠습니다. public class TestGeneric { public T sample; public void showYourType() .. 2020. 3. 31. [Java] public static void main(String args[]) 분석 오늘은 자바 코딩을 할때 무의식적으로 치고 있는 public static void main(String args[]) 에 대해서 분석글을 작성해 봅니다. 자바를 배우면 가장 먼저 main함수를 작성하는데 그 의미에 대해서 제대로 파악을 하는게 좋을거 같습니다. 우선 각각의 키워드들을 분석해보겠습니다. 1. main Java는 어플리케이션이 실행되면 제일 먼저 메인(main)메소드를 실행합니다. Java와의 약속이라고 생각하시면 됩니다. 2. public 자바에는 4개의 접근 제어자가 있고 public은 그 중 하나입니다. public 접근 제어자는 어느 곳에서든 해당 객체를 참조할 수 있다는 의미입니다. 4가지 접근 제어자중 제약이 가장 약합니다. main 메소드를 public으로 지정하는 이유는 JVM.. 2020. 3. 24. 이전 1 2 3 4 5 6 7 8 ··· 10 다음