일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 메모이제이션
- 캡슐화
- 다형성
- 클라우드
- Secret
- Solid
- process.env
- MariaDB
- 상속
- CSS
- DP
- PostgreSQL
- netlify
- azure
- git
- bfs
- package
- 객체지향
- 동적계획법
- Java
- npm
- dfs
- dotenv
- AOP
- GOF
- 디자인 패턴
- 서브셋폰트
- github
- mock
- 추상화
- Today
- Total
목록코딩테스트 (21)
이것저것 해보기🌼
카카오 문제해설 https://tech.kakao.com/2021/01/25/2021-kakao-recruitment-round-1/ 2021 카카오 신입공채 1차 온라인 코딩 테스트 for Tech developers 문제해설 지난 2020년 9월 12일 토요일 오후 2시부터 7시까지 5시간 동안 2021 카카오 신입 개발자 공채 1차 코딩 테스트가 진행되었습니다. 테스트에는 총 7개의 문제가 출제되었으며, 개발 언어는 C++, Java, Jav tech.kakao.com 문제 1. 신규 아이디 추천 https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞..
문제 : https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net Greedy 알고리즘의 가장 기본 문제로 많이 나온다. 탐욕법은 미래는 생각하지 않고 각 단계마다 지금 당장 가장 좋은 방법만을 선택한다. 따라서 이 문제에서 길이와 상관없이 가장 먼저 끝나는 회의부터 선택하고, 겹치는 회의를 모두 제거한 뒤 모든 회의들이 없어질때까지 반복하면 최적해가 구해질 것이다. 하지만 이렇게는 전체 시간 복잡도가 O(N^2)이 되므로, 먼저 회의시간을 빨리 끝나는 순서대로 sort 하면, 겹치는 회의를 없앨 필요없이 순회하면서 선택하기만 하면 된다. 이렇게하면 정렬에 걸리는 시간..
https://www.acmicpc.net/problem/16985 16985번: Maaaaaaaaaze 첫째 줄부터 25줄에 걸쳐 판이 주어진다. 각 판은 5줄에 걸쳐 주어지며 각 줄에는 5개의 숫자가 빈칸을 사이에 두고 주어진다. 0은 참가자가 들어갈 수 없는 칸, 1은 참가자가 들어갈 수 있는 칸을 www.acmicpc.net 지난번 배열돌리기 문제와 같이, 배열을 회전시키는 등의 구현과 더불어 순열과 BFS 가 모두 활용되는 좋은 문제여서 공부 좋은 풀이법 : https://gre-eny.tistory.com/321 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ..
[동적계획법 레시피] 1. 모든 답을 만들어보고 그 중 최적해의 점수를 반환하는 완전탐색 알고리즘을 설계한다 2. 전체 답의 점수를 반환하는 것이 아니라, 앞으로 남은 선택들에 해당하는 점수만을 반환하도록 부분문제 정의를 바꾼다. 3. 재귀 호출 입력에 이전의 선택에 관련된 정보가 있다면 꼭 필요한 것만 남기고 줄인다. 문제에 최적 부분 구조가 성립할 경우 이전 선택에 관련된 정보를 완전히 없앨 수도 있다. 여기서 목표는 가능한 한 중복되는 부분 문제를 많이 만드는 것이다. 입력의 종류가 줄어들면 줄어들 수록 더 많은 부분 문제가 중복되고, 따라서 메모이제이션을 최대한도로 활용할 수 있다. 4. 입력이 배열이거나 문자열인 경우 가능하다면 적절한 변환을 통해 메모이제이션할수 있도록 한다. 5. 메모이제이션..
유형 : DFS 문제 n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다. 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한 비슷하도록 두 전력망으로 나누었을 때, 두 전력망이 가지고 있는 송전탑 개수의 차이(절대값)를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 2 이상 100 이하인 자연수입니다. wires는 길이가 n-1인 정수형 2차원 배열입니다. wires의 각 원소는 [v1, v2] 2개의 자연수로 이루어져 있으며, 이..
기본적인 자료구조 다루기 연습 (Collections 를 사용한 sort) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140import java.util.List;import java.util.Map;i..
유형 : 이진트리 Tree의 순회 알고리즘 3개 전위 순회(preorder traversal), 중위 순회(inorder traversal), 후위 순회(postorder traversal) 를 구현하는 문제다. 전체 트리를 생성하는 부분도 구현해야 하므로 기본적인 이진트리 공부에 좋은 문제다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104import java.io.*;import java..
참고 포스팅 https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=wiseyoun07&logNo=221135110180 ORACLE쿼리에서 postgreSQL쿼리 변환 회사에서 SM 운영 업무를 줄곧 해오면서 DB 사용에 있어 오라클 DB를 벗어날 일이 크게 없었다. 안정... blog.naver.com http://www.gurubee.net/lecture/2953 JOIN JOIN 문법 JOIN은 FROM에서 2개 이상의 테이블을 결합하여 다수의 행을 검색하는 것을 말합니다. JOIN의 일반적인 문법은 다음과 같습니다. .. www.gurubee.net 기본 문법 1) 현재시간 출력 -> now() select now(); -> CH..
1) DFS / BFS DFS 와 BFS 개념과 알고리즘 구현에 대해 깔끔하게 정리된 글이 있어 첨부한다. https://covenant.tistory.com/132 DFS BFS란? 백준 문제추천 DFS BFS란? 백준 문제추천 그래프의 모든 노드를 방문 하는 알고리즘으로 DFS와 BFS가 있습니다. 어려운 코딩테스트를 통과하고 나면 만나게 될 기업 기술 면접의 단골 주제입니다. 본 알고리즘에 covenant.tistory.com 2) 백트래킹 참고자료 https://zoonvivor.tistory.com/105 모든 경우의 수 (백 트래킹) 우연히 백트래킹 공부하다가 이전에 비트연산으로 만들었던 경우의 수를 백트래킹으로 구현해보았다. 백트래킹은 다른 DFS와는 다르게 함수안에 반복문이 구현되어있다. ..
구름 코딩테스트는 입력받는 부분도 구현을 해야하기 때문에 미리 BufferedReader 로 한줄씩 들어온 데이터를 어떻게 자를지에 대해 정리해둔다. BufferedReader br 에 대한 선언부분과 readLine() 을 string에 저장하는 것까지는 기본으로 제공이 되는 것 같다. 만약 1 2 3 4 5 처럼 한줄에 여러 Integer가 있고 이를 Integer 배열에 저장하고 싶다면 아래와 같이 String.split() 함수를 사용해 띄어쓰기 단위로 문자열을 나누면 된다. 이에 대한 값들은 String으로 저장되기 때문에 Integer.parseInt 함수로 정수형 변환 과정도 필요하다. 1 2 3 4 5 String str = br.readLine(); String[] split = str...