1. 문제 2022 연세대학교 미래캠퍼스 슬기로운 코딩생활에 N명의 학생들이 응시했다. 이들 중 점수가 가장 높은 k명은 상을 받을 것이다. 이 때, 상을 받는 커트라인이 몇 점인지 구하라. 커트라인이란 상을 받는 사람들 중 점수가 가장 가장 낮은 사람의 점수를 말한다. 첫째 줄에는 응시자의 수 N과 상을 받는 사람의 수 k가 공백을 사이에 두고 주어진다. 둘째 줄에는 각 학생의 점수 x가 공백을 사이에 두고 주어진다. 1 ≤ N ≤ 1,000 1 ≤ k ≤ N 0 ≤ x ≤ 10,000 2.문제해결 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = ne..
전체 글
1.문제 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + 30) / 5 = 170 / 5 = 34가 된다. 평균 이외의 또 다른 대표값으로 중앙값이라는 것이 있다. 중앙값은 주어진 수를 크기 순서대로 늘어 놓았을 때 가장 중앙에 놓인 값이다. 예를 들어 10, 40, 30, 60, 30의 경우, 크기 순서대로 늘어 놓으면 10 30 30 40 60 이 되고 따라서 중앙값은 30이 된다. 다섯 개의 자연수가 주어질 때 이들의 평균과 중앙값을 구하는 프로그램을 작성하시오. * 첫째 줄부터 다섯 번째 줄까지 한 줄에 하나씩 자..

1.문제 Q. N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. * 시간 복잡도가 O(n²)인 정렬 알고리즘으로 풀 수 있습니다. 예를 들면 삽입 정렬, 거품 정렬 등이 있습니다. * 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 2.삽입정렬 예시 3.풀이 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int size = sc.nextInt(); int[] arr = new int[size]; //수 입력받기 for..
1. 문제 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다. 예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 600원을 상금으로..
▶ 원인PK가 2개인 테이블의 UPDATE문에 WHERE절을 1개만 지정했다문제는 이걸 커밋하고 1시간 후에나 알게 된 것..... 내가 의도했던 것보다 많은 데이터가 바뀌었다.검색해보니 대부분 UPDATE 복구는 10분 이내에 하는 방법이라 나와는 맞지않았다.해서 다음을 위해 특정 시간대로 복구하는 쿼리를 기록한다. -- 복구할 데이터 확인 ( 오늘 오전 8시 기준 )SELECT *FROM 테이블명 AS OF TIMESTAMP(TO_DATE('2022-09-14 08:00', 'YYYY-MM-DD HH24:MI:SS'))ORDER BY 컬럼명;-- 현재 테이터 확인SELECT *FROM 테이블명ORDER BY 컬럼명;ORDER BY는 없어도 되지만 데이터 확인을 위해 넣었다. -- 복구할 데이터로 ..

/*테이블 백업(복사)*/CREATE TABLE 백업테이블명(신규) AS SELECT * FROM 기존테이블명;/*백업본 제약조건 추가 --> 복사하면 제약조건 + 인덱스 유실 */ALTER TABLE 자식테이블ADD CONSTRAINT 제약조건명 PRIMARY KEY (컬럼명, 컬럼명...)ADD CONSTRAINT 제약조건명 FOREIGN KEY (자식컬럼명) REFERENCES 부모테이블 (부모컬럼명);/*제약조건 검색*/SELECT TABLE_NAME ,CONSTRAINT_NAME ,INDEX_NAME FROM USER_CONSTRAINTS WHERE CONSTRAINT_NAME LIKE '%제약조건명%';/*제약조건 삭제*/ALTER TABLE 테이블명 DROP CONSTRAINT 제약..
설계에 참여한 DB구조는 잘 알고 있었지만,취업 후 이미 서비스 되고 있는 DB의 구조를 파악하는 것이 쉽지 않았다. 특히 규모가 큰 프로젝트일수록 ERD와 테이블정의서로 파악하기 어려웠기 때문에 도움이 되었던 쿼리문을 정리해보았다. 1. 특정 컬럼이 존재하는 테이블, 뷰 검색--컬럼 검색SELECT DISTINCT TABLE_NAME--FROM ALL_TAB_COLUMNS /*전체 테이블*/FROM USER_TAB_COLUMNS /*접속한 계정의 전체 테이블*/WHERE COLUMN_NAME LIKE '%컬럼명%'ORDER BY TABLE_NAME;>> 컬럼명 MEM_ID 검색 결과.>> MEM_ID가 포함된 컬럼을 가진 테이블을 알고 싶었기 때문에 LIKE 문을 사용했지만, 컬럼명을 정확하..

1. 작업창 생성 및 관리 Ctrl + N 프로젝트 / 패키지 / 클래스 생성하기 (New)Ctrl + E 현재 작업 중인 창 변경 Ctrl + W 현재 작업중인 창 종료 Ctrl + M 현재 작업 창 전체화면 / 전체화면 취소 Ctrl + E 현재 열린 작업 창 목록 열기 > 화살표로 선택해서 창 열기 가능 F2 프로젝트/패키지/클래스 등의 이름을 변경 할 때 사용. 절대 바탕화면 폴더에서 바꾸지말기ㅠㅠ Ctrl + Shift + O 전체 import 2. 소스 편집 Ctrl + A 전체 선택 Alt + Shift + A 열모드 (세로 블럭 드래그) Tab 들여쓰기 Ctrl + I 들여쓰기 자동 수정 Shift + Tab 내어쓰기 Ctrl + / 한줄 주석 처리 ( = // ) Ctrl + Shift ..

▶ SQL 코딩 테스트 연습 > GROUP BY > 입양 시각 구하기(2) 1.테이블 정보 2.문제 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. 3.요구사항 분석 및 SQL문 1) 1차 시도 - 오답 -- 조회 : 시간, 입양 횟수 -- 그룹 : 시간별 (0 - 23) -- 정렬 : 시간순 SELECT TO_CHAR(DATETIME, 'HH24') AS 시간 ,COUNT(DATETIME) AS 입양횟수 FROM ANIMAL_OUTS GROUP BY TO_CHAR(DATETIME, 'HH24') HAVING TO_CHAR(DATETIME,..