문제 링크 http://boj.kr/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M을 www.acmicpc.net 문제 풀이 이 문제는 이분탐색에 분류되어 있는 문제이다. 이분탐색은 정렬되어있는 배열에서 원하는 값을 찾아가는 탐색법이다. 그런데 이 문제는 parametric search이라는 스킬을 이용해서 푼다. 간단하게 설명하자면 이분탐색은 시작과 끝의 중간점을 찾고 찾는 값이 더 크면 시작점을 중간점으로 잡고, 더 작으면 끝점을 중간점으로 잡고 다시 탐색하는것을 찾을 때 까지 반복한다...
제39회 SQLD에 합격한 후기를 남기려고 한다. 시험은 2020년 11월 말에 쳤다. 올해는 코로나 때문에 시험도 취소되고 해서 어수선했지만 결국 결실을 봐서 기쁘다. 😳 시험 결과는 기분 좋게 커트라인에서 간신히 2점을 넘겼다 👍👍 개발을 하다보면 SQL 쿼리 짤 일이 굉장히 많은데, 이를 위해서 자격증을 따며 공부하면 좋겠다는 생각이 들어 SQLD에 응시하게 되었다. 2020년도 막바지에 기분 좋게 통과하였다 시험을 보며 알았지만 직접 쿼리를 짜본 전공자라면 크게 어려운 난이도는 아닐 거라는 생각이 들었다. 추후에 SQLP도 공부해볼 계획이다. SQLD 시험소개 SQLD는 한국 데이터 산업진흥원에서 주관하는 국가공인자격증이다. * 공부기간 나는 정보처리기사를 따면서 공부한 DB 지식이 있었기 때문에..
문제 링크 https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 문제 풀이 해당 문제는 A의 B제곱을 구해서 C로 나눈 나머지를 구하는 문제입니다. 얼핏 보면 간단해 보이는 문제이지만 범위가 굉장히 크죠 A, B, C 모두 2,147,483,647 이하의 자연수입니다. 그래서 만약 A의 2,147,483,647 제곱을 구하려면 많은 연산이 필요하고, 시간 복잡도가 올라가게 됩니다. 그럼 이 문제를 어떻게 풀어야 할까요?? 분할 정복과 DP로 풀면 되는데, 다음에 나오는 예를 같이 보며 이해해보겠습니다. 예를 들어 ..
문제 링크 https://www.acmicpc.net/problem/1904 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이 www.acmicpc.net 문제 풀이 점화식 문제이고, 동적 프로그래밍 방법을 알면 쉽게 풀 수 있는 문제입니다. 차근차근 a1부터 써보면 값을 예측할 수 있습니다. a1 = 1; a2 = 2; a3 = a1 + a2 = 3; a4 = a2 + a3 = 5; ... 어떻게 이렇게 나오게 되는지 알아보겠습니다. 예를들어 a5의 경우를 보겠습니다. 1. a5는 맨 앞에 00이 오거나 1이 오게 됩니다. 2-1. 00이 오..
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 문제 풀이 저는 스택을 이용하여 풀었습니다. 전체적인 프로세스는 이렇습니다. 1. 1부터 입력으로 들어온 String의 크기까지 잘라 Stack에 넣는다. 2. 스택에서 꺼낸다. 2-1) 스택에서 꺼낸 값이 문자열일 경우 반복된 횟수 num 변수에 1을 넣는다. 2-2) 스택에서 꺼낸 값이 숫자일 경우 반복된 횟수 num 변수에 넣는다. 다시 스..
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴 programmers.co.kr 문제 풀이 카카오 코딩 테스트로 나왔던 문제죠. 일반적으로 스택 연습문제로 많이 나오는 괄호 문제와 재귀를 많이 풀어보셨다면 무리 없이 금방 풀 수 있는 문제입니다. 이 문제는 요구사항을 그대로 구현하면 되는 문제입니다. 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, ..
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12924 코딩테스트 연습 - 숫자의 표현 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 programmers.co.kr 문제 풀이 1부터 n까지 차례대로 더하며 n이 되는 경우를 구하면 되는데, 재귀를 통하여 구현해 보았습니다. 소스 코드 class Solution { int answer=0; public int solution(int n) { for(int i=1;in || sum>n) return; if(sum == n) answer++; sum..
- Total
- Today
- Yesterday
- 백준
- 제네릭 타입
- 삼성 코테
- 제네릭(Generic)
- 커링
- for of
- RGB거리
- 키패드 누르기
- 카카오 코딩 테스트
- yyyy-MM-dd
- 가장 큰 수
- 1629
- 청소년상어
- 문자열 압축
- local cache
- DP
- 오버로딩
- javascript
- spring cache
- java
- vaild
- 19236
- 카카오 인턴십
- 삼각달팽이
- 날짜 유효성
- 반례
- 39회차
- 프로그래머스
- 삼성기출
- 01타일
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |