프로그래머스 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번에서 구한 일치한 번호 수..
프로그래머스 12921번 - 소수 찾기 요구사항 1. 1부터 숫자 n 사이에 있는 소수의 개수를 반환하라. 요구사항 분석 및 풀이과정 1. 1부터 n까지 순회하며 해당 수가 소수인지를 확인한다. 2. 소수는 1과 자기 자신만을 약수로 가지는 수이다. - 약수는 쌍으로 존재하므로, 제곱근까지만 약수를 검사해도 충분하다. 소스코드 작성 import java.util.stream.IntStream; class Solution { private static boolean isPrime(int value) { for(int i = 2; i
- Total
- Today
- Yesterday
- 비트연산
- 탐욕법
- 정렬
- 프로그래머스
- TDD
- 코드 스니펫
- Java
- 스트림
- sql
- 연결리스트
- 쓰레드
- 우선순위큐
- 알고리즘
- 코딩인터뷰
- kotlin
- JPA
- dp
- k8s
- 구현
- 카카오
- dsu
- 해쉬
- dfs
- 오늘의집
- 스택
- set
- 회고
- 문자열
- BFS
- 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 |