전체 글505 [WEB] Java에서 DB연결하기 두 경우 모두 FactoryDao를 사용한다고 가정한다. FactoryDao는 싱글톤 패턴을 적용했다. 따라서 getInstance, getConnection, close 함수가 존재한다. 필요할 때마다 DB Connection 생성해서 사용하기 import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class FactoryDao { private final String driverName = "com.mysql.cj.jdbc.Driver"; private final String url = "jdbc:mysql://127.0.0.1:3306/스키마이름?serverTimezone=UTC"; .. 기록/BACKEND 2022. 4. 2. [BOJ] 1600 말이 되고픈 원숭이 - JAVA 1. 문제 https://www.acmicpc.net/problem/1600 1600번: 말이 되고픈 원숭이 첫째 줄에 정수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있 www.acmicpc.net 동물원에서 막 탈출한 원숭이 한 마리가 세상구경을 하고 있다. 그 녀석은 말(Horse)이 되기를 간절히 원했다. 그래서 그는 말의 움직임을 유심히 살펴보고 그대로 따라 하기로 하였다. 말은 말이다. 말은 격자판에서 체스의 나이트와 같은 이동방식을 가진다. 다음 그림에 말의 이동방법이 나타나있다. x표시한 곳으로 말이 갈 수 있다는 뜻이다. 참고로 말은 장애물을 뛰어넘을.. 코딩테스트/BOJ 2022. 4. 2. [BOJ] 9020 골드바흐의 추측 - JAVA 1. 문제 https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다. 골드바흐의 추측은 유명한 정수론의 미해결 문제로, 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다. 이러한 수를 골드바흐 수라고 한다. .. 코딩테스트/BOJ 2022. 4. 1. [BOJ] 1976 여행 가자 - JAVA 1. 문제 https://www.acmicpc.net/problem/1976 1976번: 여행 가자 동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인 www.acmicpc.net 동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인지 알아보자. 물론 중간에 다른 도시를 경유해서 여행을 할 수도 있다. 예를 들어 도시가 5개 있고, A-B, B-C, A-D, B-D, E-A의 길이 있고, 동혁이의 여행 계획이 E C B C .. 코딩테스트/BOJ 2022. 4. 1. [SWEA] 3124 최소 스패닝 트리 - JAVA 1. 문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 2. 풀이 result type==> long이다. 타입체크를 잊지 말아야 한다. 최소 간선 순으로 합집합하되 싸이클이 생긴다면(find(a)==find(b)) 추가하지 않고 다음 간선으로 넘어간다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.PriorityQueue; import java.util.StringTokenizer; public class D4_3124_최소스패닝트리 { static int.. 코딩테스트/SWEA 2022. 3. 31. [BOJ] 1717 집합의 표현 - JAVA 1. 문제 1717번: 집합의 표현 첫째 줄에 n(1 ≤ n ≤ 1,000,000), m(1 ≤ m ≤ 100,000)이 주어진다. m은 입력으로 주어지는 연산의 개수이다. 다음 m개의 줄에는 각각의 연산이 주어진다. 합집합은 0 a b의 형태로 입력이 주어진다. 이는 www.acmicpc.net 초기에 {0}, {1}, {2}, ... {n} 이 각각 n+1개의 집합을 이루고 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작성하시오. 2. 풀이 메인 static int[] sets; static int N,M; public static void main(String[] args) throws IOException { .. 코딩테스트/BOJ 2022. 3. 31. [BOJ] 11052 카드 구매하기 - JAVA 1. 문제 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 카드 팩의 가격이 주어졌을 때, N개의 카드를 구매하기 위해 민규가 지불해야 하는 금액의 최댓값을 구하는 프로그램을 작성하시오. N개보다 많은 개수의 카드를 산 다음, 나머지 카드를 버려서 N개를 만드는 것은 불가능하다. 즉, 구매한 카드팩에 포함되어 있는 카드 개수의 합은 N과 같아야 한다. 2. 풀이 dp[i]값은 card[i], dp[1]+card[i-1], dp[2]+card[i-2], ... , dp[i-1]+card[1] 중 가장 큰 값이다. 앞선 .. 코딩테스트/BOJ 2022. 3. 30. [WEB] Servlet Servlet Life Cycle 이 메소드들은 재정의해서 사용할 수 있지만 service 메서드는 재정의시 주의가 필요하다. 밑의 그림과 같은 순서로 호출되도록 만들어졌기 때문에 재정의할 때 다음 메서드 호출을 생략한다면 예상한대로 진행되지 않을 수 있다. doGet, doPost 중 하나만 만든 상태에서 없는 메소드 방식으로 접근하면 405 Error(허용되지 않는 메소드 에러)가 발생한다. init() : 서블릿 객체 생성 후 초기화될 때 한 번 호출된다. service : 요청될 때마다 호출된다. service(ServletRequest req, ServletResponse res) service(HttpServletRequest req, HttpServletResponse res) doGet(H.. 기록/BACKEND 2022. 3. 29. [WEB] MVC Pattern 흐름 내가 이해한 방식대로 그려보았다. Model 서비스 로직(업무 로직) Class DAO : DB Access Class DTO : Data Transfer Object Class Service와 Dao 차이 Dao : DB와 연결해 DB 데이터를 필요한 것만 가져옴. Service : Dao에서 가져온 데이터를 가공. View 화면(view) : GUI, CLI html(static contents), css, javascript(jquery, bootstrap), ajax JSP(Java Server Page : static + dynamic contents) Controller 사용자의 요청을 받아서 응답을 제어하는 역할 하는 일 요청 데이터 가져오기 요청 데이터 valid 검증 Model에게 .. 기록/BACKEND 2022. 3. 29. [BOJ] 1002 터렛 - JAVA 1. 문제 https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 2. 풀이 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class BOJ_1002_터렛 { public static void main(String[] args) throws Exception { BufferedReader in = new BufferedReader(new InputStreamRea.. 코딩테스트/BOJ 2022. 3. 28. [WEB] DTO Pattern DTO Pattern db table 컬럼명과 class 멤버변수를 매핑한다. DB member_id --> DTO memberId 방식으로 하는 게 알아보기 편하다. JavaBean Component 규칙을 준수해야 한다. 1. private 멤버변수 2. public setter()/getter() 3. 기본생성자 4. package 직렬화가 필요하기 때문에 Serializable를 상속받는다. 필요시 추가할 메서드 - 생성자 중복정의 - toString() - equals/hashCode() DTO 생성자 중복정의 기본생성자 : 필수 모든 데이터 초기화 생성자 예시) 회원가입 초기화 생성자 -> memberId, memberPw, memberName, mobile, email.. 기록/BACKEND 2022. 3. 28. [BOJ] 11724 연결요소의 개수 - JAVA 1. 문제 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오. 2. 풀이 인접리스트 DFS, BFS 인접행렬 DFS, BFS 둘 다 작성하려고 한다. 2-1. 인접리스트 더보기 2-1-1. Node 클래스 인접리스트로 풀거라 클래스를 만들었다. private sta.. 코딩테스트/BOJ 2022. 3. 27. 이전 1 ··· 29 30 31 32 33 34 35 ··· 43 다음