프로그래머스 43165번 - 타켓 넘버 요구사항 1. n개의 음이 아닌 정수를 이용하여 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들 수 있는 방법의 수를 반환하라. 요구사항 분석 및 풀이과정 1. 주어진 정수를 순차적으로 더했을 경우와 뺐을 경우로 나누어 DFS 탐색을 진행하면 된다. 2. DFS 탐색의 탈출 조건은 주어진 정수를 모두 썼을 경우 탈출한다. 3. 주어진 정수를 모두 썼는데 타겟 넘버를 만들지 못한 경우는 0, 만들 수 있는 경우는 1을 반환하여 모든 경우를 구한다. 소스코드 작성 class Solution { private int dfs(int[] numbers, int sum, int target, int depth) { if (depth == numbers.length) { ret..
프로그래머스 86491번 - 최소직사각형 요구사항 1. 주어진 명함을 모두 수납할 수 있는 가장 작은 지갑의 크기를 반환하여라. 2. 단, 명함은 지갑에 가로 또는 세로로 넣을 수 있다. 요구사항 분석 및 풀이과정 1. 명함을 가로 또는 세로로 넣을 수 있기 때문에, 명함의 가로길이 또는 세로 길이 중 작은 길이를 가로길이로, 긴 길이를 세로 길이로 한다. 명함을 돌릴 수 없었다면, 기존의 명함들의 가로길이 중 가장 긴 가로길이와, 세로 길이 중 가장 긴 세로 길이를 지갑의 크기로 만들면 된다. 하지만, 명함을 돌릴 수 있기 때문에 우리가 보는 시선 기준으로 가로의 길이와 세로의 길이가 자유롭게 바뀔 수 있다. 그러므로 둘 중 작은 것을 가로 또는 세로로 고정하여 구하는 것이다. 2. 1의 작업을 한 후..
프로그래머스 72410번 - 신규 아이디 추천 요구사항 1. 주어진 문자열을 주어진 1~7단계의 처리 과정을 거친 후의 추천 아이디를 반환하라. 요구사항 분석 및 풀이과정 1. 정직하게 각 단계의 처리 과정에 맞게 처리하여주면 된다. 뇌를 빼고 가능하다. 각 단계마다 메서드를 분할하였으며 각 단계의 처리과정에 해당하는 메서드는 다음과 같다. 1단계 : toLower(String id) 2단계 : eraseDenyPattern(String id) 3단계 : eraseContinuousPoint(String id) 4단계 : trimPoint(String id) 5단계 : requireNonEmpty(String id) 6단계 : cutOver(String id, 16) 7단계 : lastLetterRepe..
프로그래머스 12934번 - 정수 제곱근 판별 요구사항 1. 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱일 경우 x + 1의 제곱을 반환하고, 그렇지 않을 경우 -1을 반환하라. 요구사항 분석 및 풀이과정 1. 양의 정수 x의 제곱근을 구한 후 내림한 값과 제곱근이 같다면 어떤 양의 정수의 제곱이다. 소스코드 작성 class Solution { public long solution(long n) { double sqrt = Math.sqrt(n); return Math.floor(sqrt) == sqrt ? (long)Math.pow(sqrt + 1, 2) : -1L; } } 결과 소스코드 깃허브 주소 링크
프로그래머스 77484번 - 로또의 최고 순위와 최저 순위 요구사항 1. 구매한 로또 번호 중 일부를 알아볼 수 없게 되었습니다. 알아볼 수 없는 번호를 0으로 표기합니다. 2. 알아볼 수 없는 번호가 당첨 로또 번호 일수도 아닐 수도 있습니다. 3. 로또 당첨 번호와 비교하여 당첨 가능한 최고 순위와 최저 순위를 차례대로 배열에 담아서 반환하라. 요구사항 분석 및 풀이과정 1. 구매한 로또 번호 중 알아볼 수 없는 번호를 제외하고 Set에 추가합니다. - Set에 추가하는 이유는 탐색이 평균적으로 O(1)에 수행되기 때문입니다. 2. 당첨 번호가 구매한 로또 번호 중 있는지를 확인하고 있을 경우 일치한 번호 수(collect)를 증가합니다. 3. 당첨 가능한 최고 순위는 (2번에서 구한 일치한 번호 수..
- Total
- Today
- Yesterday
- 오늘의집
- 프로그래머스
- dsu
- 해쉬
- k8s
- 비트연산
- 연결리스트
- 정렬
- kotlin
- BFS
- 스택
- 카카오
- 코딩인터뷰
- 알고리즘
- 코드 스니펫
- sql
- 탐욕법
- Java
- dp
- set
- 회고
- 문자열
- JPA
- 우선순위큐
- 스트림
- TDD
- dfs
- Uber
- 쓰레드
- 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |