프로그래머스 12917번 - 문자열 내림차순으로 배치하기 요구사항 1. 문자열을 이루는 문자를 큰 것부터 작은 순으로 정렬한 새로운 문자열을 반환하라. 2. 단, 대문자는 소문자보다 작은 것으로 간주한다. 요구사항 분석 및 풀이과정 1. 대문자의 아스키코드는 소문자의 아스키코드보다 작기 때문에 정렬 기준을 그냥 크기를 기준으로 내림차순 정렬하면 된다. 소스코드 작성 import java.util.Arrays; import java.util.Comparator; import java.util.stream.Collectors; class Solution { public String solution(String s) { return Arrays.stream(s.split("")).sorted(Comparato..
프로그래머스 67256번 - [카카오 인턴]키패드 누르기 요구사항 1. 키패드의 1, 4, 7 숫자를 입력할 때는 왼손 엄지손가락을 사용한다. 2. 키패드의 3, 6, 9 숫자를 입력할 때는 오른손 엄지손가락을 사용한다. 3 - 1. 키패드의 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가까운 엄지손가락을 사용한다. 3 - 2. 만약 거리가 같다면 오른손잡이는 오른손 엄지손가락, 왼손잡이는 왼손 엄지손가락을 사용한다. 4. 거리는 키패드 이동 한 칸이 1이다. 요구사항 분석 및 풀이과정 키패드 1을 원점으로 기준으로 하여 오른쪽과 아래쪽을 양의 방향으로 하여 각 숫자를 좌표의 형식으로 변환한다. 변환을 쉽게 하기 위하여 0을 제외한 키패드의 모든 숫자에서 1을 뺀 후, 3..
프로그래머스 70128번 - 내적 요구사항 1. 두 1차원 배열의 내적을 구하여라. 내적은 두 배열의 각 요소의 곱들의 합이다. 요구사항 분석 및 풀이과정 1. 주어진대로 구현하면 된다. 소스코드 작성 import java.util.stream.IntStream; class Solution { public int solution(int[] a, int[] b) { return IntStream.range(0, a.length).map(i -> a[i] * b[i]).sum(); } } 결과 소스코드 깃허브 주소 링크
프로그래머스 12912번 - 두 정수 사이의 합 요구사항 1. 정수 a와 b 사이(양 끝 포함)에 속한 모든 정수의 합을 반환하라. 주의할 점은 a와 b의 대소 관계는 정해져 있지 않다. 요구사항 분석 및 풀이과정 1. a와 b 중 작은 정수를 시작점, 큰 정수를 끝점으로 하여 합을 구하면 된다. 소스코드 작성 import java.util.stream.LongStream; class Solution { public long solution(int a, int b) { return LongStream.rangeClosed(Math.min(a, b), Math.max(a, b)).sum(); } } 결과 소스코드 깃허브 주소 링크
프로그래머스 12906번 - 같은 숫자는 싫어 요구사항 1. 배열에서 연속적으로 나타나는 숫자는 하나만 남기고 모두 제거하여 반환한다. 2. 단, 기존 배열의 순서는 그대로 따른다. 요구사항 분석 및 풀이과정 1. 연속적으로 나타나는 것을 제거하는 건 전형적인 Stack을 사용하는 문제 유형이다. 2. 배열을 순차적으로 순회한다. 3. 만약 Stack이 비어있지 않고 가장 최근에 삽입한(peek) 원소가 현재 원소와 같다면 연속적으로 등장하였다는 뜻이므로 삽입하지 않고 넘어간다. 4. 위의 상황에 해당하지 않으면 Stack에 삽입한다. 소스코드 작성 import java.util.Stack; class Solution { public int[] solution(int[] arr) { Stack resul..
- Total
- Today
- Yesterday
- set
- 정렬
- 해쉬
- dfs
- 비트연산
- dsu
- 알고리즘
- k8s
- dp
- 코딩인터뷰
- 탐욕법
- 카카오
- 회고
- 구현
- 오늘의집
- 우선순위큐
- 프로그래머스
- Uber
- 연결리스트
- TDD
- BFS
- Java
- JPA
- sql
- 스트림
- 쓰레드
- 코드 스니펫
- 문자열
- 스택
- kotlin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |