프로그래머스 12940번 - 최대공약수와 최소공배수 요구사항 1. 두 수의 최대공약수와 최소공배수를 배열에 담아서 반환하라. 요구사항 분석 및 풀이과정 1. 최대공약수는 재귀 또는 반복으로 구할 수 있으나 BigInteger 클래스에 이미 구현되어있으므로 사용하는 것도 좋다. 2. 최소공배수는 최대공약수로 다음과 같이 표현 가능하다. lcd(m, n) = m * (n / gcd(m, n)) ( gcd : 최대공약수, lcd: 최소공배수 ) m * n을 곱하고 나누지 않는 이유는 m과 n의 크기에 따라 오버 플로우가 발생할 수 있기 때문이다. 미리 나눈 후 곱할 경우 오버 플로우가 발생하지 않는다. 소스코드 작성 import java.math.BigInteger; class Solution { privat..
프로그래머스 12950번 - 행렬의 덧셈 요구사항 1. 행과 열의 크기가 같은 두 행렬을 더한 행렬을 반환하라. 요구사항 분석 및 풀이과정 1. 행렬 A와 행렬 B를 합한 행렬 C는 다음과 같다. C[row][col] = A[row][col] + B[row][col] 소스코드 작성 class Solution { public int[][] solution(int[][] arr1, int[][] arr2) { int[][] result = new int[arr1.length][arr1[0].length]; for(int row = 0; row < arr1.length; row++) { for(int col = 0; col < arr1[0].length; col++) { result[row][col] = ar..
프로그래머스 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(); } } 결과 소스코드 깃허브 주소 링크
- Total
- Today
- Yesterday
- 알고리즘
- dfs
- 우선순위큐
- dp
- 쓰레드
- 구현
- 정렬
- 스트림
- Uber
- 카카오
- 문자열
- 회고
- 오늘의집
- 해쉬
- BFS
- 비트연산
- kotlin
- set
- dsu
- JPA
- 코드 스니펫
- 스택
- 프로그래머스
- 코딩인터뷰
- TDD
- k8s
- Java
- 연결리스트
- sql
- 탐욕법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |