본문 바로가기
728x90

분류 전체보기103

[99클럽 코테 스터디] 19일차 TIL 그리디 오늘의 문제는 프로그래머스 과일 장수  문제   문제 설명  k, m, socre가 주어졌을 때 과일 장수가 얻을 수 있는 최대 이익을 반환하는 문제입니다. 사과는 1점 부터 k 점까지 상태에 따라 분류되고 점수가 높을 수록 품질이 좋은 사과입니다.한 상자에 사과 m개를 담아 포장하고 가격은 상자에 담긴 사과 중 가장 점수가 낮은 사과의 점수(p) x m 입니다.  입출력 예 3, 4, [1, 2, 3, 1, 2, 3, 1]8    문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 25분이 걸렸습니다.    문제 접근 방식주어진 점수 배열 score를 내림차순 정렬합니다. 정렬된 점수를 m개씩 묶어 각 묶음에서 마지막 점수를 리스트에 추가합니다. 이는 정렬된 상태에서 m번째 위치한 점수를 찾기 위한 .. 2024. 8. 9.
[99클럽 코테 스터디] 18일차 TIL DFS/BFS 오늘의 문제는 LeetCode Increasing Order Search Tree  문제   문제 설명  이진 탐색 트리가 주어지면 모든 노드를 크기 순서대로 정렬해야 합니다. 대신 모든 노드는 왼쪽 자식 노드가 없고 오른쪽 자식 노드만 가져야 합니다.  예시 입력값 : root = [5,3,6,2,4,null,8,1,null,null,null,7,9] 출력값 : [1,null,2,null,3,null,4,null,5,null,6,null,7,null,8,null,9]   문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 41분이 걸렸습니다.   문제 접근 방식먼저 DFS 알고리즘을 이용해 트리의 모든 값을 정렬된 순서로 리스트에 저장합니다. 그 다음 저장된 값을 이용해 새로운 트리를 만듭니다. 새로.. 2024. 8. 8.
[99클럽 코테 스터디] 17일차 TIL DFS/BFS 오늘의 문제는 LeetCode Binary Tree Inorder Traversal   문제   문제 설명  이진 트리의 루트가 주어집니다. 이를 중위 순회한 결과를 반환하면 되는 문제입니다. 예를 들어 입력 값이 root = [1, null, 2, 3] 일 때의 결과 값은 [1, 3, 2] 입니다.   문제 풀이 시간 권장 풀이 시간은 30분이었고, 저는 22분이 걸렸습니다.   문제 접근 방식DFS의 재귀를 통한 방식을 사용했습니다. 문제에서 List가 주어졌기 때문에 순회 결과를 저장할 리스트를 생성합니다. 재귀 함수를 사용해 중위 순회를 수행합니다. 먼저 노드가 null이 아니면 왼쪽 자식 노드를 방문합니다. 그 다음 현재 노드의 값을 리스트에 저장합니다. 다음으로 오른쪽 자식 노드에 방문합니다... 2024. 8. 7.
[99클럽 코테 스터디] 16일차 TIL 완전탐색 오늘의 문제는 프로그래머스 최소직사각형   문제  문제 설명  주어진 이차원 배열 sizes는 각 명함의 가로와 세로 길이를 담고 있습니다. 모든 명함을 담을 수 있는 크기의 지갑을 만든다고 가정했을 때 가로와 세로 크기를 곱한 최적 지갑 크기를 반환하면 되는 문제입니다. 예를 들어 sizes가 [[60, 50], [30, 70], [60, 30], [80, 40]] 일 때, 가로의 최대값은 80이고 세로의 최대 값은 70입니다. 하지만 [30,70]의 명함을 가로로 눕혀 지갑에 넣는다고 했을 때 가로의 최대값은 80이고 세로의 최대값은 50이 되므로 이 둘을 곱한 4000을 결과로 반환하면 됩니다.     문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 37분이 걸렸습니다.    문제 접근 방식먼.. 2024. 8. 6.
[99클럽 코테 스터디] 15일차 TIL 완전탐색 오늘의 문제는 프로그래머스 모의고사  문제   문제 설명  3명의 수포자가 수학 문제를 찍습니다. 각 수포자는 정답을 찍는 규칙이 있습니다.1번은 [1, 2, 3, 4, 5]를 순서대로 반복해 찍습니다. 2번은 [2, 1, 2, 3, 2, 4, 2, 5]를 순서대로 반복해 찍습니다. 3번은 [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]를 순서대로 반복해 찍습니다. 정답이 담긴 answers 배열이 주어졌을 때, 문제를 많이 맞힌 사람이 누구인지 배열에 담아 반환하면 되는 문제입니다. 대신, 가장 높은 점수를 받은 사람이 여러명일 경우, 값을 오름차순으로 정렬해 반환해야 합니다. 예를 들어 정답이 [1, 2, 3, 4, 5]이면 반환값은 [1]이고 정답이 [1, 3, 2, 4, 2]이면, 반환값은.. 2024. 8. 5.
728x90