본문 바로가기
반응형

코딩테스트103

[프로그래머스] 가장 큰 수 [JAVA(자바)] ‘프로그래머스 코딩테스트 고득점 Kit’ 문제 입니다. 😀 문제 👉 1. 문제 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 구한다. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 2. 풀이 정렬 을 이용한 문제 풀이 주어진 숫자 배열을 문자 배열로 변환한다. Arrays.sort()를 이용해 내림차순으로 정렬을 한다. 내림차순 : (String a, String b) -> { return (b+a).compareTo(a+b); 오름차순 : (String a, String b) -> { return (a+b).compareTo(b+a); 정렬한 배.. 2021. 11. 25.
[프로그래머스] 베스트앨범 [JAVA(자바)] ‘프로그래머스 코딩테스트 고득점 Kit’ 문제 입니다. 😀 문제 👉 1. 문제 genres는 노래의 장르를 나타내는 문자열을 plays는 노래별 재생 횟수를 나타낸다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 모든 장르의 재생 횟수는 다르고, 장르에 속한 곡이 하나라면, 하나의 곡만 수록한다. 2. 풀이 해시 를 이용한 문제 풀이 key는 장르를 value는 총 재생 횟수를 나타내는 Hash를 생성한다. key는 장르를 value는 {고유번호, 재생횟수}를 나타낼 수 있는 Hash를 생성한다. 재생횟수 내림차순 고유번호 오름차순 장르별 총 재생 횟수를 내림차순.. 2021. 11. 25.
[프로그래머스] 위장 [JAVA(자바)] ‘프로그래머스 코딩테스트 고득점 Kit’ 문제 입니다. 😀 문제 👉 1. 문제 주어진 의상을 조합한 수를 리턴한다. 의상을 조합할 때는 최소 1개의 옷을 입어야 하고, 의상 종류 당 최대 1개만 입을 수 있다. 중복된 의상은 없다. 2. 풀이 해시 를 이용한 문제 풀이 주어진 의상을 통해 key는 의상의 종류 value는 의상의 개수를 나타내는 Hash를 생성한다. 의상의 개수를 셀 때는 계산하기 쉽게 아무것도 안 입은 경우를 포함한 후 마지막에 모든것을 아무것도 안 입은 경우를 빼기 위해 리턴할 때 -1을 한다. 3. 코드 import java.util.*; class Solution { public int solution(String[][] clothes) { int answer = 1; Map hm.. 2021. 11. 25.
[프로그래머스] 전화번호 목록 [JAVA(자바)] ‘프로그래머스 코딩테스트 고득점 Kit’ 문제 입니다. 😀 문제 👉 1. 문제 주어진 전화번호 중, 한 번호가 다른 번호의 접두어이면 false 아닐 경우 true를 리턴한다. 중복된 전화번호는 없다. 2. 풀이 해시 를 이용한 문제 풀이 모든 전화번호를 통해 key는 전화번호 value는 0을 가지는 Hash를 생성한다. for문을 통해 모든 전화번호가 전화번호 맨앞 2자리 숫자부터 마지막 자리 숫자까지 Hash에 있는지 탐색한다. 단, 탐색 전에 자기 자신의 번호를 구분하기 위해 Hash에서 자기 자신의 value는 1로 변경 후 탐색한다. 탐색이 끝난 후 다시 value는 0으로 변경한다. 3. 코드 import java.util.*; class Solution { public boolean sol.. 2021. 11. 25.
[프로그래머스] 완주하지 못한 선수 [JAVA(자바)] ‘프로그래머스 코딩테스트 고득점 Kit’ 문제 입니다. 😀 문제 👉 1. 문제 마라톤에 참여한 선수 participant 와 마라톤을 완주한 선수 completion 을 통해 완주하지 못한 1명을 찾아라. 참가자 중에는 동명이인이 있다. 참가자의 이름은 1개 이상 20개 이하이며 알파벳 소문자로 이루어져 있다. 2. 풀이 해시 를 이용한 문제 풀이 key는 완주한 선수의 이름을 value는 해당 선수의 이름을 카운트하는 Hash를 생성한다. 참가자와 완주한 선수의 Hash를 통해 완주하지 못한 1명을 찾는다. 3. 코드 import java.util.*; class Solution { public String solution(String[] participant, String[] completion) {.. 2021. 11. 25.
[LeetCode] 1038. Binary Search Tree to Greater Sum Tree [Python(파이썬)] '파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀 문제 👉 1. 문제 (이진 탐색 트리(BST)를 터 큰 수 합계 트리로) BST의 각 노드를 현재값보다 더 큰 값을 가진 모든 노드의 합으로 만들어라. Input: root = [4,1,6,0,2,5,7,null,null,null,3,null,null,null,8] Output: [30,36,21,36,35,26,15,null,null,null,33,null,null,null,8] ex : 4 -> 4 + 5 + 6 + 7 + 8 = 30 2. 풀이 재귀탐색을 이용한 풀이 중위 순회로 노드 탐색 right -> now -> left 3. 코드 # Definition for a binary tree node. # class TreeNod.. 2021. 11. 24.
[LeetCode] 938. Range Sum of BST [Python(파이썬)] '파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀 문제 👉 1. 문제 (이진 탐색 트리(BST) 합의 범위) BST가 주어졌을 때 L 이상 R 이하의 값을 지닌 노드의 합을 구하라. Input: root = [4,1,6,0,2,5,7,null,null,null,3,null,null,null,8] Output: [30,36,21,36,35,26,15,null,null,null,33,null,null,null,8] ex : 4 -> 4 + 5 + 6 + 7 + 8 = 30 2. 풀이 재귀탐색과 DFS를 이용한 풀이 반복문과 DFS를 이용한 풀이 3. 코드 재귀탐색과 DFS를 이용한 풀이 # Definition for a binary tree node. # class TreeNode: # .. 2021. 11. 24.
[LeetCode] 783. Minimum Distance Between BST Nodes [Python(파이썬)] '파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀 문제 👉 1. 문제 (이진 탐색 트리(BST) 노드 간 최소 거리) 두 노드 간 값의 차이가 가장 작은 노드의 값의 차이를 출력하라. 2. 풀이 재귀탐색과 중위순회를 이용한 풀이 반복문과 중위순회를 이용한 풀이 3. 코드 재귀탐색과 중위순회를 이용한 풀이 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: pre, ret = -100000, 100000 def minDi.. 2021. 11. 24.
[LeetCode] 310. Minimum Height Trees [Python(파이썬)] '파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀 문제 👉 1. 문제 (최소 높이 트리) 노드 개수와 무방향 그래프를 입력받아 트리가 최소 높이가 되는 루트의 목록을 리턴하라. Input: n = 4, edges = [[1,0],[1,2],[1,3]] Output: [1] Input: n = 6, edges = [[3,0],[3,1],[3,2],[3,4],[5,4]] Output: [3,4] 2. 풀이 노드가 2개 이하가 될때까지 리프 노드를 순차적으로 제거한다 3. 코드 class Solution: def findMinHeightTrees(self, n: int, edges: List[List[int]]) -> List[int]: if n == 1: return [0] graph =.. 2021. 11. 24.
반응형