전체 글 224

MySQL 내장함수 정리

문자열 함수 CONCAT, CONCAT_WS : 두 개 이상의 문자열을 결합 SELECT CONCAT('Hello', ' ', 'World');-- 'Hello World' # CONCAT_WS는 특정 구분자를 이용해 문자를 결합할 수 있다. SELECT CONCAT_WS('/', '2023', '12', '26');-- '2023/12/26' SUBSTR : 문자열의 일부분을 추출 SELECT SUBSTR('Hello World', 7);-- 'World' # SUBSTR과 SUBSTRING 둘 다 사용 가능하다. # 3번 째 인자로 숫자를 기입하면 해당 숫자 길이만큼 문자열을 자른다. SELECT SUBSTR('Hello World', 7, 3);-- 'Wor' SUBSTRING_INDEX : 찾는 ..

코딩테스트/SQL 2023.12.26

[백준 python 2346] 풍선 터뜨리기

[Silver III] 풍선 터뜨리기 - 2346 문제 링크 성능 요약 메모리: 34016 KB, 시간: 64 ms 분류 자료 구조, 덱 제출 일자 2023년 12월 25일 21:12:00 문제 설명 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선이 있다. 각 풍선 안에는 종이가 하나 들어있고, 종이에는 -N보다 크거나 같고, N보다 작거나 같은 정수가 하나 적혀있다. 이 풍선들을 다음과 같은 규칙으로 터뜨린다. 우선, 제일 처음에는 1번 풍선을 터뜨린다. 다음에는 풍선 안에 있는 종이를 꺼내어 그 종이에 적혀있는 값만큼 이동하여 다음 풍선을 터..

[백준 python 11866] 요세푸스 문제 0

[Silver V] 요세푸스 문제 0 - 11866 문제 링크 성능 요약 메모리: 34008 KB, 시간: 88 ms 분류 자료 구조, 구현, 큐 제출 일자 2023년 12월 23일 16:56:45 문제 설명 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. 입력 첫..

[백준 python 12789] 도키도키 간식드리미

[Silver III] 도키도키 간식드리미 - 12789 문제 링크 성능 요약 메모리: 31120 KB, 시간: 40 ms 분류 자료 구조, 스택 제출 일자 2023년 12월 22일 19:32:49 문제 설명 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두근 설레서 시험 공부에 집중을 못 한다. 이번 중간고사에서도 역시 승환이는 설레는 가슴을 안고 간식을 받기 위해 미리 공지된 장소에 시간 맞춰 도착했다. 그런데 이게 무슨 날벼락인가! 그 곳에는 이미 모든 학생들이 모여있었고, 승환이는 마지막 번호표를 받게 되었다. 설상가상으로 몇몇 양심에 털이 난 학생들이 새치기를 거..

자바의 객체지향 정리

클래스와 객체 클래스의 정의 : 클래스란 객체를 정의해 놓은 것이다. 클래스의 용도 : 클래스는 객체를 생성하는데 사용한다. 객체의 정의 : 실제로 존재하는 것, 사물 또는 개념 객체의 용도 : 객체가 가지고 있는 속성과 기능에 따라 다르다. 쉽게 표현하자면 이렇다. 클래스 객체 제품 설계도 제품 TV 설계도 TV 붕어빵 기계 붕어빵 객체와 인스턴스 용어 정리 객체 : 모든 인스턴스를 대표하는 일반전인 용어 인스턴스 : 특정 클래스로부터 생성된 객체 인스턴스화 : 클래스 => 인스턴스 더 쉽게 정리되어진 글을 찾아봤다. 객체의 구성요소 객체 = 속성(변수) + 기능(메서드) 객체의 생성 객체의 생성 클래스명 변수명; - 클래스의 객체를 참조하기 위한 참조변수를 선언 변수명 = new 클래스명; - 생성된..

Language/Java 2023.12.22

[백준 python 9012] 괄호

[Silver IV] 괄호 - 9012 문제 링크 성능 요약 메모리: 31120 KB, 시간: 40 ms 분류 자료 구조, 스택, 문자열 제출 일자 2023년 12월 21일 21:25:58 문제 설명 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다..

[백준 python 28278] 스택 2

[Silver IV] 스택 2 - 28278 문제 링크 성능 요약 메모리: 71112 KB, 시간: 1260 ms 분류 자료 구조, 스택 제출 일자 2023년 12월 21일 20:03:56 문제 설명 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 다섯 가지이다. 1 X: 정수 X를 스택에 넣는다. (1 ≤ X ≤ 100,000) 2: 스택에 정수가 있다면 맨 위의 정수를 빼고 출력한다. 없다면 -1을 대신 출력한다. 3: 스택에 들어있는 정수의 개수를 출력한다. 4: 스택이 비어있으면 1, 아니면 0을 출력한다. 5: 스택에 정수가 있다면 맨 위의 정수를 출력한다. 없다면 -1을 대신 출력한다. 입력 첫째 줄에 명령의 수 N 이 주어진다. (1 ..

JVM

JDK, JRE, JVM JDK, JRE, JVM에 대한 용어를 정리하자면 JDK : Java Development Kit / 자바 개발 도구 JRE : Java Runtime Environment / 자바 실행 환경 JVM : Java Virtual Machine / 자바 가상 기계 Java의 호환성 Java와 C언어의 차이점은 무엇일까? Java는 Write Once Use Anywhere 이라는 목적을 가지고 있다. 번역하자면, "소스파일을 하나만 작성하면 어디에서든지 사용이 가능하다!" 이다. 반면에 C언어는 One Source Multi Object Use Anywhere 번역하자면, "하나의 소스파일로 각 기계에 맞는 목적파일로 만들어 어디든 사용 가능하다!" 이다. 정리해 보자면, 하나의 목..

Language/Java 2023.12.21

[백준 python 13909] 창문 닫기

[Silver V] 창문 닫기 - 13909 문제 링크 성능 요약 메모리: 33240 KB, 시간: 40 ms 분류 수학, 정수론 제출 일자 2023년 12월 20일 21:14:31 문제 설명 서강대학교 컴퓨터공학과 실습실 R912호에는 현재 N개의 창문이 있고 또 N명의 사람이 있다. 1번째 사람은 1의 배수 번째 창문을 열려 있으면 닫고 닫혀 있으면 연다. 2번째 사람은 2의 배수 번째 창문을 열려 있으면 닫고 닫혀 있으면 연다. 이러한 행동을 N번째 사람까지 진행한 후 열려 있는 창문의 개수를 구하라. 단, 처음에 모든 창문은 닫혀 있다. 예를 들어 현재 3개의 창문이 있고 3명의 사람이 있을 때, 1번째 사람은 1의 배수인 1,2,3번 창문을 연다. (1, 1, 1) 2번째 사람은 2의 배수인 2..

[백준 python 17103] 골드바흐 파티션

[Silver II] 골드바흐 파티션 - 17103 문제 링크 성능 요약 메모리: 48872 KB, 시간: 2636 ms 분류 수학, 정수론, 소수 판정, 에라토스테네스의 체 제출 일자 2023년 12월 20일 19:01:03 문제 설명 골드바흐의 추측: 2보다 큰 짝수는 두 소수의 합으로 나타낼 수 있다. 짝수 N을 두 소수의 합으로 나타내는 표현을 골드바흐 파티션이라고 한다. 짝수 N이 주어졌을 때, 골드바흐 파티션의 개수를 구해보자. 두 소수의 순서만 다른 것은 같은 파티션이다. 입력 첫째 줄에 테스트 케이스의 개수 T (1 ≤ T ≤ 100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 N은 짝수이고, 2 < N ≤ 1,000,000을 만족한다. 출력 각각의 테스트 케이스마다 골..