Java
-
재귀 - 백준(15654) N과 M(5) - 중복없는 오름차순 순열자료구조와 알고리즘/문제풀기 2024. 4. 16. 17:28
N과 M (5)시간 제한메모리 제한제출정답맞힌 사람정답 비율1 초512 MB37243273202185572.945%문제N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다.N개의 자연수 중에서 M개를 고른 수열입력첫째 줄에 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다.출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.수열은 사전 순으..
-
자바 네트워크 네트워크 입출력 (1) - TCP언어/JAVA 2023. 8. 22. 19:19
1. 네트워크 기초 - 네트워크는 여러 컴퓨터들을 통신 회선으로 연결하는 것 - LAN은 가정,회사,건물,특정 영역에 존재하는 컴퓨터 연결 - WAN은 LAN을 연결한 것이다. (WAN이 흔히 말하는 인터넷이다) - LAN과 LAN을 라우터가 연결 - 라우터와 LAN은 스위치로 연결 1.2 서버와 클라이언트 - 네트워크에서 유무선으로 컴퓨터가 연결되어 있다면, 실제로 데이터 주고받는 행위는 프로그램들이 한다. - 서비스를 제공하는 프로그램을 서버, 서비스 요청하는 프로그램을 클라이언트라 부른다. - 인터넷을 통해서 두 프로그램이 통신하기 위해서는 클라이언트가 서비스 요청, 서버는 처리 결과 응답으로 제공한다. 1.3 ip주소 - 컴퓨터의 고유주소이다. 컴퓨터마다 받는 것이 아니라, 네트워크 어답터(LAN..
-
Java - 일급컬렉션언어/JAVA 2023. 7. 25. 11:40
일급컬렉션이란 Collection을 Wrapping하면서, 그 외 다른 멤버 변수가 없는 상태 1.일급컬렉션 적용 규칙 - 일급컬렉션에는 컬렉션 외 다른 멤버변수 없어야한다. - 각 컬렉션은 자체로 포장돼 있음으로, 콜렉션과 관련된 동작 근거지가 마련됨 - 필터가 일급컬렉션 클래스에 일부가 된다. > 필터는 또한 스스로 함수 객체가 될 수 있다. Map map = new HashMap(); map.put("1","A"); //.. 이를 아래와 같이 클래스 안으로 묶음 public class GameRanking{ private Map ranks; public GameRanking(Map ranks){ this.ranks = ranks; } } List carList = new ArrayList(); pu..
-
Java - File클래스언어/JAVA 2023. 7. 24. 12:27
- File은 기본적이면서도 가장 많이 사용되는 입출력 대상이다. - file클래스는 파일 혹은 디렉토리를 다룰 수 있도록 다양한 메서드를 정의하고 있다. 1. File클래스 생성자 * 파일과 디렉토리는 같은 방법으로 다룬다. * pathname에는 보통 경로까지 포함새서 지정해줘야하지만, 프로그램이 실행되는 위치와 파일의 위치가 같을 경우 파일명만 사용해도 된다. File f = new File(//path); File dir = new File(//path); //이미 존재하는 파일을 파일 객체로 참조시 File f = new File(//) //없는 파일을 생성할때 f.createNewFile(); *OutputStream에 경우 해당 스트림을 열고 파일을 쓸 때 파일이 없으면 생성해서 쓴다. (F..
-
- JavaNextStep - 숫자야구게임(1) - 단위테스트언어/JAVA 2023. 7. 10. 17:10
- 학습테스트 > 내가 만든 api를 테스트하는게 아니라, 다른 사람이 구현해 놓은 라이브러리가 어떻게 동작하는지 단위테스트를 통해 알아보는 것 학습테스트이다. > 새로운 라이브러리를 테스트 기반으로 할 수 있다. (빠르게 학습 가능해진다) > 학습 테스트를 통해 - 단위 테스트 방법 학습 - 단위 테스트 도구 사용법 익힐 수 있다. - 사용하는 API에 대한 학습 효과가 있다. 1. String 클래스에 대한 학습 테스트 1.1 요구사항 1에 대해 @DisplayName("split Test") @Test void splitTest(){ String[] input = "1,2".split(","); assertThat(input).contains("1","2"); } @Test void splitTes..
-
람다식언어/JAVA 2023. 7. 5. 17:07
1. 람다식이란? - 메서드를 하나의 식으로 표현 - 함수를 간략,명확한 식으로 표현 할 수 있게 해준다. - 람다식으로 메서드를 표현하면, 이름과 반환값이 사라지므로, 익명함수라고도 한다. int method() { return (int)(Math.random()*5) +1;} () -> {(int)(Math.random()*5)+1}; *모든 메서드는 기본적으로 클래스에 포함되어 있어야하므로, 필요한 메서드를 만드는 작업이 복잡하다. *람다식은 이를 간결하게 처리할 수 있도록 해준다. *람다식을 통해 매개변수를 전달하여 값을 return받을 수 도 있지만, 람다식 자체를 매개변수로 사용할 수 있다. 1.2 람다식 작성 - 메서드의 이름과 반환타입을 제거하고 선언부와 몸통부 사이에 ->를 추가한다. -..
-
Spring MVC02 - 다중파일 업로드Web/Spring 2023. 6. 30. 23:23
1. 파일 업로드를 위한 준비 API, servlet-context.xml설정 다중 파일 업로드를 위해 API를 다운받자. commons-fileupload, commons-io commons-fileupload commons-fileupload 1.2.1 commons-io commons-io 1.4 스프링 컨테이너에 servlet-context.xml 파일 업로드를 위한 클래스와 property를 설정해야한다. - 업로드할 파일의 최대사이즈와, 임시파일사이즈, 인코딩타입 등을 미리 정해두자 1.2 뷰 페이지 만들기 다중파일업로드 스프링 이용한 다중 파일 업로드 구현 Panel Content 아이디: 이름: 파일추가: 업로드 나프2탄고 form에 enctype ="multipart/form-data"로..
-
Spring MVC01 - 스프링 동작 절차Web/Spring 2023. 6. 28. 17:06
- 스프링이 동작하는 절차를 쭉 따라가보자 - 기본적인 설정만 해주면 대부분은 미리 다운받아진 api가 처리해준다. 1. Web.xml실행 - 스프링이 구동되면 Web.xml파일을 읽기 시작한다. web.xml파일을 순서대로 읽으면서 리스너 클래스가 실행되며, 다음으로 root-context.xml을 읽기 시작한다. - 설명을 읽어보면, 스프링 컨테이너를 만든다고 하는데, 스프링 컨테이너란 스프링이 모든 객체를 관리 할 때 사용하는 장소로 객체를 관리하는 메모리 공간이다. 1.2 스프링 컨테이너 - Servlet 컨테이너가 요청을 받고 서블릿 생명주기를 관리한다면, Spring컨테이너는 웹프로그래밍을 하며 사용할 객체들을 미리 생성해두고 관리하는 메모리 공간이다. - 왜 Spring Container가 ..