분류 전체보기

코딩테스트/백준

[코테] 백준 10250번 : ACM 호텔 (java)

❓문제 https://www.acmicpc.net/problem/10250 🔅해석 배정될 방의 행과 열을 구하는 문제로 층과 행에서 몇변째 방인지를 구해 합친 결과를 내야한다. 1. 행 구하기(floor) 행은 높이(height)에서 n번째를 나눈 나머지 값이 층 높이(floor)가 나온다. 예를 들어, 높이가 6이고 n번째가 10이라면 6/10 = 1.4 이므로 나머지 값이 4가 높이가 된다. 단, 높이와 n번째의 값이 같다면 나머지 값이 0이 나오는데 이런 경우는, 높이 값만큼 층을 배정해주면 되니깐 floor는 height 또는 n이 된다. 2. 열 구하기(room) 열은 n번째에서 높이(height)를 나눈 값 +1 이 room이 된다. 예를 들어, 높이가 6이고 n번째가 10이라면 6/10 = ..

코딩테스트/백준

[코테] 백준 2587번 : 대표값2 (java)

❓문제 https://www.acmicpc.net/problem/2587 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + www.acmicpc.net 🔅해석 평균과 중앙값의 개념을 알고 있고 배열을 정렬만 할 수 있다면 쉬운 문제이다. Arrays.sort()로 int 배열을 인자로 전달하면 오름차순으로 정렬된다. int[] num = new int[5]; Arrays.sort(num); 또한, 람다식으로 정렬이 가능하다. 람다식을 사용할 때는 ArrayList에 자연수를 담아야한다. ArrayLis..

코딩테스트/백준

[코테] 백준 25206번 : 너의 평점은 (java)

https://www.acmicpc.net/problem/25206 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net ❓문제 🔅해석 복잡한 논리없이 풀 수 있는 문제이다. 입력 값으로 과목명, 학점, 등급이 공백으로 구분되어 주어지는데 과목명은 계산에 영향을 미치지 않으므로 따로 저장을 하지 않는다. 학점, 등급만 입력시 바로 누적합을 구한다. 다만, 등급은 문자열로 입력되기에 if문이나 switch 문을 통해 실수로 변환한다. 전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값으로 계산한다. ..

TOOL

[이클립스] emmet과 라인 삭제 단축키 충돌 날 때

❓문제 emmet 설치 후 라인 삭제 단축키(Ctrl + D)가 emmet 단축키와 충돌이 나는 문제가 발생했다. ❗해결 방법 Window - Preferences General - Keys match 검색 후 'Match Pair Outward' 선택 'Unbind Commad' 선택 delete 검색 후 'Delete Line' 선택 Binding에 커서 대고 'Ctrl + D' 누르기 Apply and Close로 저장하고 종료하기

TOOL

[이클립스] import 한 웹 프로젝트가 에러날 때

에러 화면 한 컴퓨터에서 작업하다가 다른 컴퓨터로 작업하려고 import 할 때 에러가 나는 경우가 있다. 이럴 때 전에 사용하던 컴퓨터의 자바 버전과 현재 컴퓨터의 자바 버전이 같은지 확인해봐야한다. 프로젝트 자바 버전 확인 및 변경하기 프로젝트 우클릭 - Properties 1. Java Build Path - Libraries Classpath의 JRE 를 확인해보면 unbound가 뜨는 걸 확인할 수 있다. 현재 내 컴퓨터와 깔려있는 버전이 맞지않아 뜨는 에러이므로 버전을 바꿔준다. jre를 더블클릭하여 'Workspace default JRE'로 내 컴퓨터에 설치되어 있는 버전으로 바꿔준다. 2. Project Facets 이전에 JavaSE-15로 되어있어 unbound가 뜬 것처럼 해당 Pr..

WEB

[WEB] 웹 크롤링, 스크래핑 (+ Jsoup 라이브러리)

🔻웹 크롤링, 웹 스크래핑 웹 사이트(웹 페이지)에서 데이터를 수집하는 행위를 의미한다. 데이터를 수집하는 방법은 아래 3가지 방법이 대표적이다. 1. 상대방(웹사이트)이 나에게 DB 권하는 주는 방법, 가장 좋은 방법이지만 현실상 불가능하다. 2. 상대방이 외부에 OpenAPI를 JSON, XML 형식으로 공개한다. 하지만 공개된 데이터가 제한적일 수 있다. 3. 웹페이지의 소스를 긁어서 원하는 데이터를 추출한다. 단, 프로그램을 이용해야 얻을 수 있다는 단점이 있다. 크롤링 시 주의점 1. 허가를 받지않은 데이터이므로 저작권 문제를 조심해야한다. 2. 긁어오는 작업은 속도가 빠르고, 횟수가 많아서 크롤링 되는 서버 입장에서는 서버 비용과 트래픽이 증가된다. 그래서 정도껏 가져온다. 크롤링 사전 지식 ..

SERVER(Servlet, JSP)

[Server] 메모 project : 메모 CRUD

서블릿과 JSP로 메모장을 구현해본다. 🔻개발 순서 1. 주제 나만의 메모장 2. 업무 CRUD 위주의 구현 메모 쓰기(C) 메모 목록(R) 메모 읽기(R) 메모 수정(U) 메모 삭제(D) 3. 전체 구성(페이지 관계도) 4. DB 파일 경로 파일명 역할 Memo (root폴더) script.sql sql문 작성 sql문을 sql툴에서 작성하여 자바에서 사용하면 편하다. 5. 기능별 파일 생성하기 공통 파일 파일 경로 파일명 역할 webapp > WEB-INF > views > inc asset.jsp 정적 자원들을 관리하고 출력 webapp > WEB-INF > views > inc header.jsp 웹 페이지의 상단 부분 템플릿 서블릿 JSP 경로 com.test.memo webapp > WEB-I..

SERVER(Servlet, JSP)

[Server] MVC 디자인 패턴 기초

🔻Servlet + JSP 자바에서 웹 어플리케이션을 작성하기 위한 기술로 Servlet과 JSP가 있다. 이 둘의 장단점, 그리고 이 둘을 같이 사용했을 때의 장점은 아래와 같다. 1. Servlet 장점 : 자바기반으로 자바 코드 작성이 용이하다 단점 : 클라이언트 코드 작성이 불편하다. 2. JSP 장점 : 클라이언트 코드 작성이 용이하다. 단점 : 자바 코드 작성이 불편하다. 3. Servlet + JSP Servlet의 장점과 JSP의 장점을 합쳤다. 자바코드는 서블릿에서 작성하고 클라이언트 코드는 JSP코드에서 작성한다. MVC 디자인 패턴으로 통합관리를 한다. 순서는 무조건 servlet이 먼저 실행한다. 그 이유는 거의 대부분의 JSP 코드를 보면 상단에 로 자바 코드를 작성하고 그 중의 ..

JDBC(Oracle)

[JDBC] Auth(인증 및 허가) 로그인 구현

🔻인증과 허가 인증, Authentication 현재 접속자가 해당 사이트의 구성원인지 확인하는 작업 로그인(Sign in), 로그아웃(Sign out) 해당 접속자가 구성원인지 아이디와 암호로 확인하는 작업을 통과하면 인증 티켓을 발급한다. 인증 티켓으로 사이트 내에서 자유롭게 이동이 가능하고 인증 받은 사람이라는 것을 증명 가능하다. 허가, Authorization 특정 행동을 할 때 권한이 있는지 확인하는 작업 웹 보안은 인증과 허가를 합쳐서 관리한다. 인증을 확인하는 방법에는 세션 기반 인증 방법과 쿠키 기반 인증 방법이 있다. 🔻인증 업무 구현(로그인 및 권한 있는 페이지 만들기) 세션 기반 인증 방법으로 구현한다. 프로젝트 명 : AuthTest 폴더 경로 파일명 파일 역할 AuthTest s..

SERVER(Servlet, JSP)

[JDBC] DB 연결할 때 자주 발생하는 오류 및 해결 방법

DB 연결할 때 자주 발생하는 오류들을 아래 코드 기준으로 알아본다. package com.test.jdbc; import java.sql.Connection; import java.sql.DriverManager; public class Ex01 { public static void main(String[] args) { Connection conn = null; String url = "jdbc:oracle:thin:@localhost:1521:xe"; String id = "hr"; String pw = "java1234"; try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection(url, id..

developer of the night sky
'분류 전체보기' 카테고리의 글 목록 (8 Page)