본문 바로가기
728x90

🍪 Ect/#Study42

[99클럽 코테 스터디] 42일차 TIL DP 오늘의 문제는 LeetCode 121. Best Time to Buy and Sell Stock  문제   문제 설명 배열 prices에 담긴 stock을 사고 팔아서 최대 이익을 반환하는 문제입니다. prices[i]는 i번째 날의 stock 가격을 의미합니다. 당일에 산 stock은 판매할 수 없으며 무조건 구매가 판매보다 먼저 이루어져야 합니다. 만약 수익이 나지 않을 경우, 0을 반환해야 합니다.  [입력 예시]prices = [7,1,5,3,6,4][출력 예시]5    문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 43분이 걸렸습니다.   문제 접근 방식매입 금액과 이익을 계산할 변수로 설정합니다. prices 배열을 순회하며 현재 주식 가격을 판매 가격으로 간주합니다. 만약 판매 금액이.. 2024. 9. 1.
[99클럽 코테 스터디] 41일차 TIL DP 오늘의 문제는 LeetCode 1137. N-th Tribonacci Number  문제  문제 설명 정수 n이 주어졌을 때 Tn의 Tribonacci 수열을 구하는 문제입니다. Tn은 다음과 같이 정의됩니다. T0 = 0, T1 = 1, T2 = 1 Tn+3 = Tn + Tn+1 + Tn+2 [입력 예시]n = 4[출력 예시]4    문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 36분이 걸렸습니다.   문제 접근 방식우선 n이 0, 1, 2일 땐 주어진 값이 있으므로 조건문을 통해 해당 값을 반환해줍니다. 다음으로 배열을 생성해 초기 인덱스에 대한 Tribonacci 수열의 값을 할당합니다. 세번째 인덱스부턴 반복문을 사용해서 주어진 수식에 따라 값을 계산하고 n 번째 Tribonacci 수열.. 2024. 8. 31.
[99클럽 코테 스터디] 40일차 TIL DP 오늘의 문제는 LeetCode 746. Min Cost Climbing Stairs  문제   문제 설명 계단의 각 단계마다의 비용이 배열로 주어지고 한 번에 한 계단 또는 두 계단을 올라갈 수 있다고 했을 때 시작 지점 인덱스는 0 또는 1입니다. 이때  계단을 올라가는데 드는 최소 비용을 찾는 문제입니다.  [입력 예시]cost = [10,15,20][출력 예시]15    문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 37분이 걸렸습니다.   문제 접근 방식시작 인덱스가 0 또는 1이기 때문에 최소 비용을 저장할 배열의 0과 1번째 인덱스를 0으로 초기화합니다. 그 다음 주어진 배열을 순회하며 점화식을 계산합니다. 이때 점화식은 각 계단에서의 한 계단을 오르는 경우와 두 계단을 오르는 경우를 .. 2024. 8. 30.
[99클럽 코테 스터디] 39일차 TIL 그리디 오늘의 문제는 LeetCode 455. Assign Cookies  문제   문제 설명 아이들에게 쿠키를 나누어 주려고 합니다. 각 아이의 욕심 정도를 나타내는 배열 g와 쿠키의 크기를 나타내는 배열 s가 주어졌을 때, 각 아이가 만족하려면 쿠키의 크기가 아이의 욕심보다 크거나 같아야 합니다. 최대한 많은 아이를 만족시킬 수 있도록 하는 쿠키 배분 결과를 반환하는 문제입니다. [입력 예시]g = [1,2], s = [1,2,3][출력 예시]2    문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 32분이 걸렸습니다.   문제 접근 방식먼저, 주어진 배열 g와 s를 오름차순으로 정렬합니다. 그 다음 두 배열을 순차적으로 탐색하면서 쿠키의 크기가 아이의 욕심보다 크거나 같을 경우(s[j] >= g[i].. 2024. 8. 29.
[99클럽 코테 스터디] 38일차 TIL 그리디 오늘의 문제는 LeetCode 409. Longest Palindrome  문제   문제 설명 대문자 또는 소문자로 구성된 문자열 s가 주어졌을 때 회문으로 만들수 있는 총 글자수를 반환하는 문제입니다. [입력 예시]s = "abccccdd"[출력 예시]7    문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 42분이 걸렸습니다.   문제 접근 방식먼저 해시맵을 생성해 문자열 s의 각 문자와 해당 문자의 빈도수를 저장합니다. 그 다음 저장된 각 문자의 빈도수를 확인하며 짝수인 경우에는 최종 길이에 더합니다. 빈도수가 홀수인 경우에는 해당 빈도수에서 1을 뺀 값을 길이에 더하고 isOdd를 true로 설정합니다. 빈도수가 홀수인 문자가 있다면 최종 길이에 1을 더해 반환합니다.    문제 풀이impo.. 2024. 8. 28.
728x90