JDBC (Java DataBase Connectivity)란? JDBC는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API입니다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공해줍니다. 특징 DBMS 종류에 상관없이 독립적인 JAVA 프로그래밍이 가능합니다. JDBC는 아래의 그림과 같이 DBMS에 종속되지 않는 관련 API를 제공하기 때문에 데이터베이스가 달라지더라도 동일한 API를 사용할 수 있습니다. DB 벤더에서 JDBC 인터페이스를 자신들의 DB에 맞게 구현하여 라이브러리로 제공하는데, 이것을 JDBC 드라이버 라고합니다. JDBC API java.sql (Java Platform SE 8 ) Interface Summary Interface Descriptio..
문제 2109번: 순회강연 한 저명한 학자에게 n(0 ≤ n ≤ 10,000)개의 대학에서 강연 요청을 해 왔다. 각 대학에서는 d(1 ≤ d ≤ 10,000)일 안에 와서 강연을 해 주면 p(1 ≤ p ≤ 10,000)만큼의 강연료를 지불하겠다고 알려왔다. www.acmicpc.net 문제 이해 한 저명한 학자에게 n(0 ≤ n ≤ 10,000)개의 대학에서 강연 요청을 해 왔다. 각 대학에서는 d(1 ≤ d ≤ 10,000)일 안에 와서 강연을 해 주면 p(1 ≤ p ≤ 10,000)만큼의 강연료를 지불하겠다고 알려왔다. 각 대학에서 제시하는 d와 p값은 서로 다를 수도 있다. 이 학자는 이를 바탕으로, 가장 많은 돈을 벌 수 있도록 순회강연을 하려 한다. 강연의 특성상, 이 학자는 하루에 최대 한 ..
문제 1062번: 가르침 첫째 줄에 단어의 개수 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 26보다 작거나 같은 자연수 또는 0이다. 둘째 줄부터 N개의 줄에 남극 언어의 단어가 주어진다. 단어는 영어 소문 www.acmicpc.net 문제 이해 남극에 사는 김지민 선생님은 학생들이 되도록이면 많은 단어를 읽을 수 있도록 하려고 한다. 그러나 지구온난화로 인해 얼음이 녹아서 곧 학교가 무너지기 때문에, 김지민은 K개의 글자를 가르칠 시간 밖에 없다. 김지민이 가르치고 난 후에는, 학생들은 그 K개의 글자로만 이루어진 단어만을 읽을 수 있다. 김지민은 어떤 K개의 글자를 가르쳐야 학생들이 읽을 수 있는 단어의 개수가 최대가 되는지 고민에 빠졌다. 남극언어의 모든 단어는 "anta"로..
문제 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net 문제 이해 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 이 지도의 위에 주사위가 하나 놓여져 있으며, 주사위의 전개도는 아래와 같다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 2 4 1 3 5 6 주사위는 지도 위에 윗 면이 1이고, 동쪽을 바라보는 방향이 3인 상태로 놓여져 있으며, 놓..
문제 2613번: 숫자구슬 첫째 줄에 구슬의 개수 N과 그룹의 수 M이 주어진다. 둘째 줄에는 각 구슬이 적혀진 숫자가 왼쪽부터 차례로 주어진다. N은 300 이하의 자연수, M은 N이하의 자연수이며, 구슬에 적혀진 숫자는 100 www.acmicpc.net 문제이해 N개의 숫자 구슬이 과 같이 막대에 꿰어져 일자로 놓여 있다. 이들 구슬은 막대에서 빼낼 수 없고, 바꿀 수 없다. 이 숫자 구슬을 M개의 그룹으로 나누었을 때 각각의 그룹의 합 중 최댓값이 최소가 되도록 하려 하다. 예를 들어 세 그룹으로 나눈다고 할 때 와 같이 그룹을 나누면 그룹의 합은 각각 11, 15, 18이 되어 그 중 최댓값은 18이 되고, 과 같이 나누면 각 그룹의 합은 각각 17, 12, 15가 되어 그 중 최댓값은 17이 ..
문제 12945번: 재미있는 박스 정리 민호는 N개의 박스를 가지고 있다. 어느 날 박스가 너무 많아져 박스를 정리하고 싶어졌다. 하지만 평범한 박스정리가 너무 지루하다고 생각한 민호는 재미를 위해 몇 가지 규칙을 정하고 박스 www.acmicpc.net 문제이해 민호는 N개의 박스를 가지고 있다. 어느 날 박스가 너무 많아져 박스를 정리하고 싶어졌다. 하지만 평범한 박스정리가 너무 지루하다고 생각한 민호는 재미를 위해 몇 가지 규칙을 정하고 박스를 정리하기로 생각했다. 규칙은 아래와 같다. 박스 x의 크기를 V[x], 박스 y의 크기를 V[y]라 할 때 V[y]는 적어도 V[x]의 두배는 되어야지 x를 y에 넣을 수 있다. 박스 x를 박스 y에 넣었다면 y는 다른 박스에 넣지 못한다. 한 박스안에 들어..
문제 설명 N X N 크기의 판이 있다. 판의 각 칸에는 돌이 있거나 없을 수 있다. 돌이 가로, 세로, 대각선 중 하나의 방향으로 다섯 개 이상 연속한 부분이 있는지 없는지 판정하는 프로그램을 작성하라. 입력 첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 하나의 정수 N(5 ≤ N ≤ 20)이 주어진다. 다음 N개의 줄의 각 줄에는 길이 N인 문자열이 주어진다. 각 문자는 ‘o’또는 ‘.’으로, ‘o’는 돌이 있는 칸을 의미하고, ‘.’는 돌이 없는 칸을 의미한다. 출력 각 테스트 케이스 마다 돌이 다섯 개 이상 연속한 부분이 있으면 “YES”를, 아니면 “NO”를 출력한다. 풀이 맵을 탐색하며 'o'를 만나면 5개가 이어져있는지 체크하면 되는 문제였습니다.처음엔..
데이터 타입 (Data type) 자바에서 제공하는 데이터 타입은 Primitive Type, Reference Type 두 가지가 있습니다. Primitive Type 정수형 타입 byte short int long 실수형 타입 float double 문자형 타입 char 논리형 타입 boolean 기본 타입을 정리하면 아래의 표와 같습니다. 데이터 타입 할당되는 메모리 크기 데이터 표현 범위 byte 1 byte (= 4bit) -128 ~ 127 short 2 byte (= 8bit) -32,768 ~ 32,767 int 4 byte (= 32bit) -2^31 ~ 2^31 - 1 long 8 byte (= 64bit) -2^63 ~ 2^63 - 1 float 4 byte (= 32bit) 0x0...
프로젝트 프로젝트 창 여닫기 : Alt + 1 프로젝트 미리보기 : space Edit Edit 창 이동 : ctrl + tab Edit 창 키우기 : ctrl + shift + F12 새 파일 생성 새 파일 생성(Edit에서) : ctrl + alt + insert 새 파일 생성(프로젝트에서) : alt + insert 커서 이동 단어별 이동 : ctrl + ← or ctrl + → 라인 시작 이동 : home 라인 끝 이동 : end 페이지 상단 : page up 페이지 하단 : page down 주석 처리 한 줄 주석 : ctrl + / 블럭 주석 : shift + ctrl + / 인덴트(들여쓰기) 인덴트 : tab 역인덴트 : shift + tab 자동 인덴트 : ctrl + alt + i 사용처..
1. 사이트 접속 IntelliJ IDEA – the Leading Java and Kotlin IDE IntelliJ IDEA is undoubtedly the top-choice IDE for software developers. It makes Java and Kotlin development a more productive and enjoyable experience. www.jetbrains.com 2. 버전 선택 Ultimate(유료) & Community(무료) IntelliJ는 Web을 제외한 기본적인 JVM 기반 언어와 안드로이드 개발을 지원합니다. Java 기반의 REST API 등의 백엔드 개발만 고려한다면 Communtity 에디션 만으로도 충분합니다. 3. 설치 Create Des..