프로그래머스 92341번 - 주차 요금 계산 요구사항 1. 문제가 길기 때문에 본문의 사진을 참고하길 바랍니다. 요구사항 분석 및 풀이과정 1. 문제만 길고, 문자열을 분해만 잘하면 단순히 산술문제입니다. 2. 주의해야하는 점은 출차를 하지 않을 경우는 23시 59분에 출차한 것으로 가정한다는 것이다. 3. 그리고 차량은 입/출차를 여러번 할 수 있습니다. 이 경우는 요금을 누적하여 최종 요금을 구해야합니다. 소스코드 작성 import java.util.Map; import java.util.TreeMap; import java.util.HashMap; class Solution { private static class Machine { private final int baseTime; private f..
프로그래머스 42888번 - 오픈채팅방 요구사항 1. 문제가 길기 때문에 본문의 사진을 참고하길 바랍니다. 요구사항 분석 및 풀이과정 1. 가장 까다로운 점은 기존의 유저가 닉네임을 바꿀 경우는 이미 출력된 기록의 닉네임을 바꿔줘야 한다는 점이다. 2. 하지만 이 문제에서는 약간의 특이점이 있는데, 실시간 처리가 아니라는 점이다. 닉네임 변경 사항을 모두 반영하고 출력할 기록들을 만들어내면 된다는 것이다. 예를 들어 유저 아이디가 "uid1234"라는 유저가 "Muzi"라는 닉네임으로 접속하고, 퇴장하고, 닉네임을 "Ryan"라고 바꾼다고 할 때 실시간으로 처리한다면 다음과 같을 것이다. 하지만 우리는 시간의 흐름대로 실시간으로 들어오는 요청(Enter, Leave, Change)을 처리하는 것이 아니라..
프로그래머스 12941번 - 최솟값 만들기 요구사항 1. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱한 값의 합의 최솟값을 반환하라. 요구사항 분석 및 풀이과정 1. 사실상 이 문제는 직접 써보면서 규칙을 찾을 순 있지만, 증명을 위해서는 재배열 부등식이라는 것을 알아야 한다. 좋은 문제는 아니다. 소스코드 작성 import java.util.Arrays; import java.util.stream.IntStream; class Solution { public int solution(int[] A, int[] B) { Arrays.sort(A); Arrays.sort(B); return IntStream.range(0, A.length).map(i -> A[i] * B[A.length - i..
프로그래머스 12953번 - N개의 최소공배수 요구사항 1. n개의 수들의 최소공배수를 반환하라. 요구사항 분석 및 풀이과정 1. n개의 수들의 최소공배수는 수 2개씩 최소공배수를 구한 결과와 나머지 n-2개의 수, 총 n-1개 수들의 최소 공배수를 구하면 된다. [2, 3, 4]의 최소공배수는 2와 3의 최소공배수인 6과 4의 최소공배수인 24다. 최대공약수는 BigInteger.gcd 메서드를 사용할 수 있고, 최소공배수는 구한 최대공약수를 통해서 구할 수 있습니다. 소스코드 작성 import java.math.BigInteger; class Solution { private int gcd(int a, int b) { return BigInteger.valueOf(a).gcd(BigInteger.va..
- Total
- Today
- Yesterday
- Uber
- JPA
- set
- 스트림
- dp
- 우선순위큐
- 탐욕법
- 코드 스니펫
- TDD
- Java
- 스택
- 카카오
- 비트연산
- 연결리스트
- 정렬
- k8s
- 회고
- BFS
- 오늘의집
- kotlin
- dsu
- 쓰레드
- 해쉬
- 알고리즘
- sql
- 코딩인터뷰
- 문자열
- 프로그래머스
- dfs
- 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |