본문 바로가기
728x90

분류 전체보기103

[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.
[99클럽 코테 스터디] 12일차 TIL 정렬 오늘의 문제는 프로그래머스 문자열 내림차순으로 배치하기   문제   문제 설명  주어진 s는 영어 대소문자로만 구성된 문자열입니다. 이 문자열을 내림차순 정렬해야 합니다. 단, 대문자는 소문자보다 작은 것으로 취급합니다. 예를 들어 s가 "BabA"라면 "baBA"가 반환됩니다.    문제 풀이 시간 권장 풀이 시간은 30분이었고, 저는 26분이 걸렸습니다.    문제 접근 방식우선, 아스키코드를 활용하면 풀이가 쉬울 것이라고 생각했습니다. 아스키코드로 변환하면 대문자가 소문자 보다 값이 작기 때문에 Arrays.sort()를 사용하면 문제에서 요구하는 대로 대문자가 소문자 보다 작은 내림차순 정렬 문자열이 나올 것이라고 생각했습니다.    문제 풀이import java.util.Arrays;import.. 2024. 8. 2.
[99클럽 코테 스터디] 11일차 TIL 정렬 오늘의 문제는 프로그래머스  정수 내림차순으로 배치하기  문제   문제 설명  주어진 long형 정수 n을 내림차순으로 정렬하여 반환하는 문제입니다. 예를 들어 n이 118372라면, 내림차순으로 정렬된 873211이 리턴되도록 하면 됩니다.    문제 접근 및 풀이 과정권장 풀이 시간은 30분이었고, 저는 19분이 걸렸습니다.오늘의 키워드는 정렬이었습니다. 그래서 미리 정렬 알고리즘에 대한 공부를 간단하게 하고 문제 풀이를 진행했습니다. 덕분에 문제를 어떻게 풀면 좋을지 손쉽게 떠올릴 수 있었습니다.    문제 접근 방식자바에서 배열을 정렬할 때 사용하는 메서드인 Arrays.sort()를 사용한 풀이를 생각했습니다. 먼저 주어진 n은 long 타입의 정수입니다. 하지만 long 타입의 숫자를 배열로 .. 2024. 8. 1.
[99클럽 코테 스터디] 10일차 TIL 힙 오늘의 문제는 LeetCode  Kth Largest Element in a Stream   문제  문제 설명 주어진 정수 배열에서 k번째로 큰 원소를 찾는 문제입니다. 여기서 k번째로 크다는 것은 인덱스가 아닌 정렬된 순서에서 k번째로 큰 원소를 의미합니다.  주어진 클래스를 완성해야 합니다. 1. kthLargest : 정수 k와 정수형 배열 nums가 매개변수로 받습니다. 예제와 같이 k와 nums가 주어졌을 때 k번째로 큰 정수를 반환하도록 stream으로 객체를 초기화 합니다. 2. add : 정수 val이 매개변수로 주어졌을 때, 이를 배열에 추가하고 k번째로 큰 수를 반환하도록 합니다.     문제 접근 및 풀이 과정권장 풀이 시간은 60분이었으나, 저는 75분이 걸렸습니다.리트코드 문제에 .. 2024. 7. 31.
728x90