728x90 전체 글103 [99클럽 코테 스터디] 20일차 TIL 그리디 오늘의 문제는 프로그래머스 체육복 문제 문제 설명 체육 수업을 들을 수 있는 최대 학생 수를 반환하는 문제입니다. 체육복이 없는 학생은 수업을 들을 수 없고, 일부 학생이 체육복을 도난당한 상황입니다. 여분의 체육복이 있는 학생은 학생 번호의 바로 앞 번호 학생이나 바로 뒷 번호의 학생에게만 체육복을 빌려줄 수 있습니다. 입력 전체 학생 수 : n체육복을 도난당한 학생들의 번호가 담긴 배열 : lost여분의 체육복을 가진 학생들의 번호가 담긴 배열 reserve 출력체육 수업을 들을 수 있는 학생의 최댓값 예를 들어 n = 5, lost = [2, 4], reserve = [1,3,5] 일 때 반환 값은 5입니다. 문제 풀이 시간권장 풀이 시간은 60분이었고, 저는 30분이 걸렸습니다... 2024. 8. 10. [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. [99클럽 코테 스터디] 14일차 TIL 이분탐색 오늘의 문제는 LeetCode 101. Symmetric Tree 문제 문제 설명 이진트리의 root가 주어졌을 때 트리의 중심을 기준으로 좌우가 대칭인지를 확인해 맞으면 true, 틀리면 false를 반환하는 문제입니다. 예를 들어 입력이 root = [1,2,2,3,4,4,3]라면 true를 반환하고, 입력이 root = [1,2,2,null,3,null,3]라면 false를 반환해야 합니다. 문제 풀이 시간 권장 풀이 시간은 30분이었고, 저는 36분이 걸렸습니다. 문제 접근 방식트리의 구조를 탐색하고 비교하는데 유용한 재귀함수를 통해 문제를 풀었습니다. 문제에서 주어진 조건에 따라 트리의 좌우 대칭을 확인해야 하기 때문에 서브트리를 반복적으로 비교하는 작업을 해야 합니다. 따라서.. 2024. 8. 4. [99클럽 코테 스터디] 13일차 TIL 이분탐색 오늘의 문제는 LeetCode Search in a Binary Search Tree 문제 문제 설명 이진 탐색 트리와 루트가 주어지면 노드의 값이 val과 동일한 노드를 찾아야 하는 문제입니다. 만약 val과 같은 값의 노드가 없다면 null을 반환하고, 있다면 해당 노드와 루트가 있는 하위 트리를 반환하면 됩니다. 문제 풀이 시간권장 풀이 시간은 30분이었고, 저는 33분이 걸렸습니다. 문제 접근 방식이진탐색트리에서 주어진 값을 찾으려면 우선 while문을 사용해 더 이상 탐색할 노드가 없을 때까지 탐색을 계속 합니다. 그 다음 만약 주어진 값과 같은 노드 값을 찾는다면 해당 노드를 루트로 하는 서브트리를 반환합니다.만약 찾고자 하는 값이 현재 노드의 값보다 작은 경우 이진탐색트리의 특성.. 2024. 8. 3. 이전 1 2 3 4 5 6 7 ··· 13 다음 728x90