본문 바로가기

분류 전체보기223

[DB] View / MySQL 사용법 View 정의 뷰는 가상의 테이블이다. 실제 데이터를 가지고 있지 않다. 진짜 테이블에 링크된 개념으로, 뷰를 SELECT하면 진짜 테이블의 데이터를 조회하는 것과 동일한 결과. 뷰의 실체는 SELECT문이다. 뷰는 SELECT문을 실행한 결과 테이블으로 생각하면 된다. 뷰에 접근하게 되면, 뷰 생성시에 입력한 select문이 작동하고 그에 따른 결과 테이블을 반환해준다. View 관련 명령어 # 뷰 생성 명령어 CREATE VIEW (뷰명) AS SELECT (가져올 컬럼) FROM (원본테이블); # 뷰 접근 명령어 SELECT * FROM (뷰명); # 뷰 삭제 명령어 DROP VIEW (뷰명) (조건); # 조건 2가지 # RESTRICT : 뷰를 다른곳에서 참조하고 있으면 삭제 취소 # CASC.. 2022. 2. 23.
[알고리즘 문제풀이] 프로그래머스 - 신규 아이디 추천 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr /** 1. toLowerCase()로 소문자 치환 2. replaceAll(정규식,"") 으로 제거 3. replaceAll([.]{2,},".") 으로 2번이상 .을 제거 4. 시작부분이나 끝부분 . 제거 5. id가 비어 있으면, "a"로 변경 6. id 길이 16이상이면 15까지 substring으로 제거 6-1) 제거 후 끝부분 .이면 제거 7... 2022. 2. 23.
[알고리즘 문제풀이] 프로그래머스 - 영어 끝말잇기 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr /** 1. word를 지정할 idx 변수를 둠 2. words의 길이를 넘어가면, .. 2022. 2. 23.
[javaScript] Login 처리 addEventListener() & preventDefault() Log In const loginInput = document.querySelector("#login-form input"); function onLoginSubmit(event){ event.preventDefault(); const username = loginInput.value; if(username === ""){ alert("Please write your name"); } else if(username.length > 15){ alert("15자 이하로만 적어주세요"); } } loginForm.addEventListener("submit", onLoginSubmit); addEventListener() 첫번째 argumen.. 2022. 2. 22.
[알고리즘 문제풀이] 프로그래머스 - 뉴스 클러스터링 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr /** 1. 문자열 파싱하여 다중집합 만들기 1-1) 정규식 사용 2. 다중집합 비교하여, 교집합과 합집합 구하기 2-1) 같은 원소가 들어갈 수 있으므로, 2개의 맵을 사용하여 원소별 개수 파악 2-2) 한개의 맵을 돌면서, 다른 맵과 비교하여 교집합 개수 파악(공통부분의 최소 개수) 2-3) 두개의 맵을 돌면서, 합집합의 개수 파악(공통.. 2022. 2. 22.
[알고리즘 문제풀이] 프로그래머스 - 예상 대진표 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/12985 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr /** 1. 2개를 기준 짝으로, 경기를 치룸. 2. 2의 지수승으로 주어지므로, 부전승은 제외해도 됨. 3. a와 b를 -1한 것이 같은 지수일때, 둘이 붙게 됨.(현재 라운드에서 붙는지 안붙는지 확인 식) 3-1) (a-1)/2 == (b-1)/2 같으면 둘이 붙는 것 4. 그전까진 n/2 + n%2를 하면서 라운드 증가(다음 라운드.. 2022. 2. 21.
[알고리즘 문제풀이] 프로그래머스 - 전화번호목록 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr /** 1. 전체 번호를 해시에 등록해두기 2. 전체 번호를 하나씩 돌면서, 전화번호의 일부가 해시에 있는지 확인 2-1) Stringbuilder 를 통해 전화번호를 만드는 연산 시간복잡도를 O(1)로 만듬. toString() 시간복잡도 추후에 알아볼것. 2-2) substring을 써도 시간복잡도엔 문제 없을 것으로 보임 1~20 까지 의 합이므로, 2.. 2022. 2. 21.
[알고리즘 문제풀이] 프로그래머스 - 괄호 변환 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr /** 1. 재귀 구현 풀이 2. 해당 문자열이 올바른지 체크 함수 3. 해당 문자열 분리 함수 **/ import java.util.*; class Solution { public String solution(String p) { String answer = ""; answer = solve(p); return answer; } public String solv.. 2022. 2. 20.