목록전체 글 (97)
OneDev
[ 소스 코드 ] -- in.datetime out.dataetime -- 보호 시작일보다 입양일이 더 빠른 동물의 -- animal_id ,name -- 아이디와 이름을 조회하는 SQL문을 작성 -- 결과는 보호 시작일이 빠른 순으로 조회 SELECT i.animal_id ,i.name FROM animal_ins i JOIN animal_outs o ON i.animal_id = o.animal_id WHERE i.datetime > o.datetime ORDER BY i.datetime asc
[ 소스 코드 ] -- 2022년 1월의 카테고리 별 도서 판매량을 합산하고 -- 카테고리(CATEGORY), 총 판매량(TOTAL_SALES) 리스트를 출력 -- 결과는 카테고리명을 기준으로 오름차순 정렬 SELECT b.category ,sum(s.sales) as TOTAL_SALES FROM BOOK b JOIN BOOK_SALES s ON b.book_id = s.book_id WHERE extract(year from s.sales_date) = 2022 and extract(month from s.sales_date) = 1 GROUP BY b.category ORDER BY b.category
[ 소스 코드 ] -- 입양을 간 동물 중, -- 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회 -- 결과는 보호 기간이 긴 순으로 조회 SELECT animal_id ,name FROM ( SELECT i.animal_id ,i.name ,o.datetime - i.datetime as 보호기간 FROM animal_ins i JOIN animal_outs o ON i.animal_id = o.animal_id ORDER BY (o.datetime - i.datetime) desc ) WHERE rownum
[소스코드] -- ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블 -- ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블 -- 아직 입양을 못 간 동물 중, -- 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성 -- 결과는 보호 시작일 순으로 조회 SELECT * FROM (SELECT i.name ,i.datetime FROM animal_ins i LEFT JOIN animal_outs o ON i.animal_id = o.animal_id WHERE o.animal_id IS NULL ORDER BY i.datetime) WHERE rownum
※ 목차 - 0. 요약 - 1. Scanner 클래스 - 2. BufferedReader 클래스 - 3. Scanner 사용법 - 4. BufferedReader 사용법 ◎ 0. 요약 클래스 Scanner BufferedReader 설명 입력받은 데이터를 다양한 타입으로 변환하의 반환하는 클래스. 기본형과 String 타입을 정규표현식을 사용해 파싱한다 데이터를 한 번에 읽어와 버퍼에 보관한 후 버퍼에서 데이터를 읽어오는 방식으로 동작하는 클래스, 동작 방식 공백과 개행문자 ( '\n', '\t', '\r' , ...) 를 기준으로 입력을 받으며, 데이터를 입력받을 경우 즉시 사용자에게 전송된다. 입력받을 때마다 전송되기고, 내부적으로 정규표현식을 사용하기 때문에 BufferedReader에 비해 더 많..

[문제] B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다. A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35 [입력] 첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36) B진법 수 N을 10진법으로 바꾸면, 항상 10억보다 작거나 같다. [출력] 첫째 줄에 B진법 수 N을 10진법으로 출력한다. ① B 진법 수 N 을 문자열로 받는다 ② N의 각 자리의 문자를 B 진법에 맞게 바꿔 결과값에 담는다 import java.util.Arrays; import java.util.Scanner; public class..
※ 풀이 1. 각 테스트 케이스 마다 반복 횟수 R 과 문자열 S 가 주어진다 2. 문자열 S 의 모든 문자를 R 번 반복해 출력해야한다. 3. 이를 위해 한 문자 C 를 R 번 반복하는 메소드를 만들었고, 4. 문자열 S 의 각 인덱스 별로 해당 메소드를 호출하였다. ※ 소스코드 package BOJ; import java.util.Scanner; public class BOJ_2675 { // 특정 문자 c 를 r 번 출력하는 메소드 public static void repeatLetter(char c, int r) { int i = 0; while (i < r) { System.out.print(c); i++; } } public static void main(String[] args) { Scan..
◎ 기본 Linux 명령어 요약 ※ 각 명령어 별 자세한 옵션은 몇가지 명령어를 제외하고 생략하였습니다 ( 명령어 별로 자세하게 포스팅할 예정) 구분 명령어 기능 기본 man + 명령어 명령어에 대한 설명을 보여준다 (나가기 : q ) (manual) clear 터미널의 모든 텍스트를 지워준다 탐색 pwd 현재 위치의 경로를 출력한다 ls 현재 경로에 있는 폴더와 파일을 표시해준다 (list) open . 현재 경로를 파일탐색기에서 연다 find 특정한 파일이나 디렉토리를 찾는다 (하단에 상술) which 실행하고자 하는 프로그램이 어디에 설치(설정)되어 있는지 경로 확인 (which node -> node 경로 / which code -> VS code 경로) grep 키워드로 검색 이동(cd) cd ..

◎ #pragma 란? #pragma 는 컴파일러에게 특정 작업을 수행하도록 지시한다 #pragma 는 C 언어의 기본 키워드라고 보긴 힘들고, 컴파일러에 종속적인 키워드라고 보는 것이 맞지 싶다. pragma를 사용하는 문법은 컴파일러 마다 다르고, 딱히 통일된 것이 없기 때문이다 #pragma 가 컴파일러에게 어떤 작업을 지시하는지는 #pragma 뒤에 오는 키워드에 따라 결정되는데, Microsoft Visual Studio 기준으로는 다음과 같은 것들이 있다 각각의 키워드들에 대한 설명은 아래 링크를 참조하세요. https://learn.microsoft.com/ko-kr/cpp/preprocessor/pragma-directives-and-the-pragma-keyword?view=msvc-17..
◎ volatile 키워드 해당 변수를 최적화에서 제외 하도록 명령하는 키워드 외부 하드웨어와 통신할 때 주로 사용된다 "volatile" 이란 단어는 "변덕스러운" 이라는 의미를 가지고 있는데, 변덕스럽게 변할 수 있는 값들에 대해 최적화 작업을 수행하지 말라고 컴파일러에게 명령한다고 생각하면 이해가 쉬울듯 하다 ◎ syntax volatile 키워드 사용을 위한 구문은 매우 간단한데, 변수 앞에 volatile 키워드를 붙여주기만 하면 된다 > #include typedef struct SENSOR { /* 감지 안되면 0, 감지되면 1 이다.*/ int sensor_flag; int data; } SENSOR; int main() { volatile SENSOR *sensor; // 컴파일러는 더이..