
프로그래머스 12932번 - 자연수 뒤집어 배열로 만들기 요구사항 1. 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 반환하라. 요구사항 분석 및 풀이과정 1. 자연수의 각 자리 숫자를 구하는 방법은 10진법의 표기법을 이용하여 구한다. - 자주 나왔으므로 따로 설명하지 않습니다. 2. 각 자리 숫자를 거꾸로 배열에 담아주면 뒤집은 것과 동일하다. 소스코드 작성 class Solution { public int[] solution(long n) { int len = (int)Math.log10(n) + 1; int[] result = new int[len]; for(int i = 0; i < result.length; i++) { result[i] = (int)(n % 10); n /= ..

프로그래머스 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..
- Total
- Today
- Yesterday
- TDD
- 우선순위큐
- 문자열
- dfs
- dp
- 코드 스니펫
- 프로그래머스
- 회고
- 해쉬
- 알고리즘
- 정렬
- Java
- sql
- 코딩인터뷰
- Uber
- 구현
- 쓰레드
- 오늘의집
- 카카오
- dsu
- 스트림
- JPA
- 스택
- 비트연산
- BFS
- k8s
- 탐욕법
- kotlin
- 연결리스트
- set
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |