SQL 고득점 kit - 문제 개념 정리
·
[SQL]
https://school.programmers.co.kr/learn/challenges?tab=sql_practice_kit 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 오랜만에 SQL 문제를 풀면서 개념들을 상기시켰는데 잊고 있었던 개념들을 정리해보려고 한다. 1. IFNULL"이미 컬럼은 있는데, 그 속의 값이 NULL일 때 다른 걸로 바꿔줘" 라는 의미이다.SELECT IFNULL(phone_number, '연락처 없음') -- phone_number 컬럼은 원래 존재함FROM users; 2. NULL AS"이 테이블엔 그런 컬럼이 없지만, 일단 빈 칸(NULL)으로 하나 만들어 줘" 라는 의미이다..
트리의 부모 찾기
·
[자료구조]/[DFS,BFS]
https://www.acmicpc.net/problem/11725위의 문제를 풀면서 '인접행렬'을 이용하여 bfs로 풀었다. 하지만 문제의 N 조건이 10만 이하였기 때문에 인접행렬 int[][] 의 크기가 10만x10만이 되면서 메모리 초과 문제가 발생하게 되었다. 인접 행렬을 선언하여 풀이하는 방법의 단점은 for문을 돌리며 연결되지 않은 행렬까지 순회한다는 점이다. 예를 들어 두 개의 노드가 있고 1과 10000이라고 하자. (1과 10000은 연결) 이 때 1과 연결된 노드를 찾기 위해 1부터 10000까지 불필요한 순회를 하게 된다. 인접 리스트를 사용하면 위의 문제를 해결할 수 있다. import java.util.*;import java.io.*;class Main { public ..
코딩테스트 보기 전 헷갈리는 개념 총정리[정렬&형 변환 편].txt
·
[기타]
코딩테스트 보기 전 헷갈리는 개념 총정리[컬렉션 편].txt8. 정렬(Sorting) 커스텀 공식기본적으로 Arrays.sort()나 Collections.sort()는 오름차순이다. 이걸 뒤집거나 복잡한 조건으로 활용하려면 아래의 2가지만 기억하면 된다. A. Comparable (클래스 안에 심는 방식)"너는 태생적으로 이렇게 정렬될거야"라고 정의할 때 쓴다.(주로 Node, Point 클래스 만들고 정렬을 기본으로 해야 할 때)class Student implements Comparable{ String name; int score; public Student(String name, int score) { this.name = name; this.score ..
코딩테스트 보기 전 헷갈리는 개념 총정리[컬렉션 편].txt
·
[기타]
0. 필수Import는 제대로 박고 시작하자.import java.util.*;import java.io.*; // 입출력 필요 시import java.lang.*; // Math, String 등 (생략 가능하나 습관적으로) 1. 배열 vs 리스트 vs 문자열은근 헷갈리는 부분. 제대로 외워서 에러잡는데 시간 조금이라도 줄이자.자료형 길이 구하는 법 비고Array (배열)arr.length괄호 없음String (문자열)str.length()괄호 있음Collection (List, Set, Map 등)list.size()size()2. List (동적 배열)주로 ArrayList를 사용한다.List list = new ArrayList();// 2차원 리스트List> list2d = new ArrayLi..
SWEA - 자기 방으로 돌아가기
·
[자료구조]/[그리디]
https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=4&contestProbId=AWNcJ2sapZMDFAV8&categoryId=AWNcJ2sapZMDFAV8&categoryType=CODE&problemTitle=&orderBy=SUBMIT_COUNT&selectCodeLang=ALL&select-1=4&pageSize=10&pageIndex=1 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 복도에 방들이 마주보고 있고, 학생들이 방들을 지나간다. 방들을 지나가는 경로는 겹치면 안된다. 누구를 먼저 보낼지 복잡하게 순서를 정하..
SWEA - 보급로 (BFS+DP 풀이와 다익스트라 풀이)
·
[자료구조]/[DFS,BFS]
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15QRX6APsCFAYD SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 문제는 간단하다. 시작점에서 도착점까지 도착하는 방법 중에서 도착비용이 가장 적은 비용을 구하면 된다. DFS로 풀면 경우의 수가 너무 많기에 BFS와 DP 테이블을 이용해 문제를 풀었다. 먼저, BFS로 풀기 위해 Queue를 정의해야 한다. 아래와 같이 Node 클래스를 선언했다.static class Node { int x, y, point; public Node(int x, int y..