1. 문제https://leetcode.com/problems/unique-number-of-occurrences/description/?envType=study-plan-v2&envId=leetcode-75 2. 요구사항1) 정수 배열 arr가 주어진다.2) 배열 arr의 각 원소가 나타나는 빈도 수가 고유한지 확인한다.3) 각 원소의 빈도가 모두 다르면 true를 반환하고, 그렇지 않으면 false를 반환한다. 3. 코드class Solution { bool uniqueOccurrences(List arr) { // 빈 이중 리스트를 만듭니다. // list[0]: 등장한 숫자들 // list[1]: 각 숫자들의 등장 횟수 List> list = [[], []]; ..
1. 문제https://leetcode.com/problems/greatest-common-divisor-of-strings/description/?envType=study-plan-v2&envId=leetcode-75 2. 요구사항1) 두 문자열 str1과 str2가 주어졌을 때 가장 큰 공약수를 찾아야 한다.2) 두 문자열의 공약수는 두 문자열을 여러 번 반복해서 만들 수 있는 문자열이다. 3. 코드class Solution { String gcdOfStrings(String str1, String str2) { // 문자열을 이어붙였을 때 결과가 다르면 공통된 패턴이 없음 if (str1 + str2 != str2 + str1) return ''; // 유클리드 호제법을 ..
1. 문제https://leetcode.com/problems/leaf-similar-trees/description/?envType=study-plan-v2&envId=leetcode-75 2. 요구사항1) 두 개의 이진 트리 root1과 root2가 주어진다.2) 이 두 개의 이진 트리가 leaf-similar 트리인지 확인한다.3) leaf-similar 트리란 두 트리의 리프 노드들이 왼쪽에서 오른쪽 순서로 동일한 값을 가지는 것을 의미한다.4) 리프 노드란 자식이 없는 노드이다. 3. 코드/** * Definition for a binary tree node. * class TreeNode { * int val; * TreeNode? left; * TreeNode? right; ..
1. 문제https://leetcode.com/problems/min-cost-climbing-stairs/description/?envType=study-plan-v2&envId=leetcode-75 2. 요구사항1) 계단을 오르는 데 드는 비용이 cost로 표현된 정수 배열이 주어진다.2) 비용을 지불하면 계단을 한 칸 또는 두 칸 오를 수 있다.3) 계단의 꼭대기에 도달하기 위한 최소 비용을 반환한다. 3. 코드class Solution { int minCostClimbingStairs(List cost) { int n = cost.length; // 계단 수 // 초기값 설정 // prev2: i-2번째 계단까지의 최소 비용 // prev1: i-1번째 계단까지의 최..