전체 글

· Algorithm
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..
· Algorithm
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이 된다. 다섯 개의 자연수가 주어질 때 이들의 평균과 중앙값을 구하는 프로그램을 작성하시오. * 첫째 줄부터 다섯 번째 줄까지 한 줄에 하나씩 자..
· Algorithm
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..
· Algorithm
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원을 상금으로..
· SQL
▶ 원인 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는 없어도 되지만 데이터 확인을 위해 넣었다. ..
· SQL
/*테이블 백업(복사)*/ 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 CONSTRAI..
· SQL
직접 설계하고 구현했던 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. 정리 ▶ script에서 html 요소에 접근 검색 document.getElementById('아이디명') document.getElementsByTagName('태그명') document.getElementsByClassName('클래스명') >> class 나 name은 n개의 태그에 같은 이름을 부여 할 수 있지만, id는 한 개만 존재하니까 s 가 안 붙는다. ▶ es6에 추가된 기능 --> document.getElement랑 같은 기능 document.querySelector('#id이름') document.querySelector('.class이름') document.querySelector('tag이름') document.querySelectorAll('.class이름') docum..
· Tool
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 ..
파란코딩
Coding Blue