프로그래머스 70129번 - 이진 변환 반복하기 요구사항 1. 0과 1로 이루어진 문자열이 "1"이 될 때까지 계속해서 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 반환하라. 2. 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환은 다음과 같이 정의합니다. 1단계 : x의 모든 0을 제거합니다. 2단계 : x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 요구사항 분석 및 풀이과정 1. 이진 변환에서 중요한 점은 1단계도 중요하지만, 결과적으로 1단계를 거친 결과의 길이가 중요합니다. 그 길이는 다음과 같습니다. 1단계를 거친 결과의 길이 = c = 문자열 x의 길이 - 0의 개수 2. 1단계를 거친 결과의 길이 c..
프로그래머스 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)을 처리하는 것이 아니라..
프로그래머스 12911번 - 다음 큰 숫자 요구사항 1. n의 다음 큰 숫자를 반환하라. 2. n의 다음 큰 숫자의 정의는 다음과 같다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 개수가 같다. 조건 3. n의 다음 큰 숫자는 조건1, 2를 만족하는 수 중 가장 작은 수 요구사항 분석 및 풀이과정 1. n의 다음 큰 숫자는 n보다 큰 자연수이므로 탐색의 범위는 n + 1부터이다. 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 개수가 같으므로, 각각 1의 개수를 구해서 비교한다. 3. n + 1부터 순차적으로 2번을 수행하여 처음으로 1의 개수가 같은 수가 조건 1, 2를 만족하는 수 중 가장 작은 수다. 팁 정수 n을 2..
프로그래머스 42746번 - 가장 큰 수 요구사항 1. 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 문자열로 바뀌어 반환하라. 요구사항 분석 및 풀이과정 1. 직관적으로 생각하면 된다. 예를 들어 6과 10을 붙이는 경우는 "610"과 "106"이다 "610"이 크므로 "610"으로 붙을 수 있게, 6이 10보다 앞에 있도록 정렬을 유지하면 된다. [6, 10, 2]를 대상으로 한번 직접 손으로 해보면 다음과 같습니다. 하지만 주의하여할 점이 있다. 결과를 문자열로 변환할 때 수의 왼쪽 첫 번째 자리 숫자가 0으로 시작하는 경우를 문자열로 변환하면 "0xx"가 되는데, 수에서 앞의 0은 아무런 의미가 없기 때문에 "0xx"는 숫자로 xx이고 문자열로 변환할 경우 "x..
- Total
- Today
- Yesterday
- 코드 스니펫
- JPA
- 문자열
- 회고
- 쓰레드
- 탐욕법
- dp
- 연결리스트
- Java
- dfs
- kotlin
- 정렬
- 코딩인터뷰
- 스트림
- Uber
- sql
- 오늘의집
- 프로그래머스
- k8s
- 해쉬
- 우선순위큐
- 알고리즘
- dsu
- 비트연산
- 카카오
- set
- BFS
- 스택
- TDD
- 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |