java34 [알고리즘, BOJ] 9372 상근이의 여행 - java 문제상근이는 겨울방학을 맞아 N개국을 여행하면서 자아를 찾기로 마음먹었다. 하지만 상근이는 새로운 비행기를 무서워하기 때문에, 최대한 적은 종류의 비행기를 타고 국가들을 이동하려고 한다.이번 방학 동안의 비행 스케줄이 주어졌을 때, 상근이가 가장 적은 종류의 비행기를 타고 모든 국가들을 여행할 수 있도록 도와주자.상근이가 한 국가에서 다른 국가로 이동할 때 다른 국가를 거쳐 가도(심지어 이미 방문한 국가라도) 된다.입력첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고,각 테스트 케이스마다 다음과 같은 정보가 주어진다.첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000)가 주어진다.이후 M개의 줄에 a와 b 쌍들이 입력된다. a와 b를 왕.. 알고리즘 2024. 7. 2. [알고리즘, BOJ] 2437 저울 - java 문제하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓을 수 있고, 다른 쪽에는 무게를 측정하려는 물건만 올려놓을 수 있다.무게가 양의 정수인 N개의 저울추가 주어질 때, 이 추들을 사용하여 측정할 수 없는 양의 정수 무게 중 최솟값을 구하는 프로그램을 작성하시오.예를 들어, 무게가 각각 3, 1, 6, 2, 7, 30, 1인 7개의 저울추가 주어졌을 때, 이 추들로 측정할 수 없는 양의 정수 무게 중 최솟값은 21이다. 입력첫 째 줄에는 저울추의 개수를 나타내는 양의 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 둘째 줄에는 저울추의 무게를 나타내는 N개의.. 알고리즘 2024. 7. 1. [알고리즘, BOJ] 1766 문제집 - java 문제민오는 1번부터 N번까지 총 N개의 문제로 되어 있는 문제집을 풀려고 한다. 문제는 난이도 순서로 출제되어 있다. 즉 1번 문제가 가장 쉬운 문제이고 N번 문제가 가장 어려운 문제가 된다.어떤 문제부터 풀까 고민하면서 문제를 훑어보던 민오는, 몇몇 문제들 사이에는 '먼저 푸는 것이 좋은 문제'가 있다는 것을 알게 되었다. 예를 들어 1번 문제를 풀고 나면 4번 문제가 쉽게 풀린다거나 하는 식이다. 민오는 다음의 세 가지 조건에 따라 문제를 풀 순서를 정하기로 하였다.N개의 문제는 모두 풀어야 한다.먼저 푸는 것이 좋은 문제가 있는 문제는, 먼저 푸는 것이 좋은 문제를 반드시 먼저 풀어야 한다.가능하면 쉬운 문제부터 풀어야 한다. 예를 들어서 네 개의 문제가 있다고 하자. 4번 문제는 2번 문제보다 먼.. 알고리즘 2024. 6. 27. 21. 세션과 쿠키의 차이점 Web 생태계에서 HTTP 프로토콜은 상태를 유지하지 않는다는 특성 때문에 사용자의 상태를 유지하기 위한 수단으로 오랜 기간 사용되었던 것은 세션과 쿠키이다. 사용자는 웹 애플리케이션을 사용하는 동안 정보를 계속 유지하거나 전달할 수 있다. 유사한 목적을 가지고 사용되는 세션과 쿠키가 어떤 차이점을 가지는 지 알아보자. 1. 저장 위치 세션은 서버 측에 데이터를 저장하는 기술이며, 주로 사용자의 상태를 유지하기 위해 세션 변수를 저장하는 데 활용된다. 사용자가 웹 페이지에 접속하면 서버는 해당 사용자에 대한 고유한 세션을 생성하고, 세션 변수에 정보를 저장하여 상태를 유지한다. 반면 쿠키는 클라이언트 측에 데이터를 저장하는 작은 텍스트 파일로, 사용자의 브라우저에 저장됩니다. 쿠키는 주로 사용자가 웹 사.. 백엔드 개발자라면 대답해야 할 100가지 질문 2023. 12. 14. [Spring, Java] 외부 API 호출 Java 또는 Spring에서 외부 API를 호출하는 방법은 여러 가지이다. 1. HttpURLConnection/URLConnection 2. HttpClient 3. RestTemplate 4. WebClient 5. OpenFeign 빠른 사용/개발을 위해서는 사용하고자 하는 각각의 API vendor가 제공하는 클라이언트 라이브러리 자체를 이용해도 되겠지만, 특정 API에 종속되므로 최대한 지양하고자 한다. 또한, 각각의 기술들이 장단점 및 성격이 다르므로 상황에 맞게 선택하여 사용하여야 한다. HttpURLConnection/URLConnection 자바에서 제공하는 API 통신을 위한 클래스이다. 순수 자바 코드로 동작하며 URL을 이용하여 외부 API를 통해 데이터를 전송 및 조회할 수 있다.. 개발일기 2023. 11. 15. 19. Servlet과 JSP의 차이점 Servlet 서버에서 웹페이지를 동적으로 생성하거나 데이터 처리 수행을 위한 자바로 작성된 프로그램이다. servlet은 java 코드 안에 HTML 태그가 삽입된 자바 언어로 되어있다. import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public ThreeParams extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); printWriter out = response... 백엔드 개발자라면 대답해야 할 100가지 질문 2023. 10. 10. [이슈 로그] com.mysql.jdbc.Driver와 com.mysql.cj.jdbc.Driver 스프링 서버와 mysql을 연동하기 위해 application.yml에 DB 정보를 다음과 같이 작성하였다. 서버 구동에는 크리티컬한 문제가 없지만 유독 불편하게 빨간색으로 눈에 띄는 한줄이 있다. Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. "com.mysql.jdbc.Driver"가 deprecated 되었다고? "com.mysql.cj.jdbc.. 개발일기/이슈 로그 2023. 10. 10. 12. Iterator란 무엇인가? List list = new LinkedList(); Iterator iterList = list.iterator(); 자바에서 Iterator는 Collection Framework의 값을 조회, 삭제할 때 사용한다. 위와 같은 방식으로 Iterator 참조변수 = 컬렉션.iterator();로 선언하여 사용한다. Iterator Interface public interface Iterator { boolean hasNext(); E next(); default void remove() { throw new UnsupportedOperationException("remove"); } default void forEachRemaining(Consumer 백엔드 개발자라면 대답해야 할 100가지 질문 2023. 8. 8. 11. Queue에서 Poll()과 remove()의 차이점은 무엇인가요? Queue에서는 Enqueue, Dequeue와 같은 기본적인 같은 동작을 하는 메서드가 여러 개 있다. 그 대표적인 경우가 Poll()과 remove()이다. Poll vs Remove /** * Retrieves and removes the head of this queue. This method differs * from {@link #poll poll} only in that it throws an exception if this * queue is empty. * * @return the head of this queue * @throws NoSuchElementException if this queue is empty */ E remove(); /** * Retrieves and removes.. 백엔드 개발자라면 대답해야 할 100가지 질문 2023. 8. 7. 9. Collection과 Collections의 차이점은 무엇인가요? Collection Collection은 java.util. package에 포함되어 있으며 Collection framework의 루트 인터페이스이다. 주로 비슷한 성질을 가진 각각의 객체들을 묶어 놓기 위해 만들어 놓았다. Collection은 인터페이스의 main sub-interface로는 List, Set, Queue가 있다. Map의 경우 java의 Collection framework에 포함되기는 하지만 Collection을 직접적으로 상속받고 있지는 않다. Collection 인터페이스의 주요 메서드로든 add(), remove(), clear(), size(), contains()가 있다. Collections Collection Collections interface class 각각의 .. 백엔드 개발자라면 대답해야 할 100가지 질문 2023. 8. 2. 이전 1 2 3 다음