본문 바로가기

dart 알고리즘3

LeetCode - 1207 고유한 빈도 횟수 1207. 고유한 빈도 횟수https://leetcode.com/problems/unique-number-of-occurrences/description/?envType=study-plan-v2&envId=leetcode-75  문제정수 배열 arr가 주어집니다. 배열 arr의 각 원소가 나타나는 빈도 수가 고유한지 확인하고자 합니다. 각 원소의 빈도가 모두 다르면 true를 반환하고, 그렇지 않으면 false를 반환합니다.  풀이1. arr 원소가 key, arr 원소 빈도가 value 인 map 을 생성한다.2. arr 를 순회하면서 배열 원소 빈도 수를 업데이트한다.3. map 의 value 값을 list 와 set 으로 각각 변환한다.4. 중복이 제거된 set 과 list 의 길이로 중복을 체크한.. 2024. 11. 5.
LeetCode - 643 최대 평균 하위 배열1 643. 최대 평균 하위 배열1 https://leetcode.com/problems/maximum-average-subarray-i/description/?envType=study-plan-v2&envId=leetcode-75 문제정수 배열 nums와 정수 k가 주어질 때, 길이가 k인 연속 부분 배열의 평균값 중 최대값을 찾는 함수를 작성하세요. 답을 소수점 다섯 번째 자리까지 반올림하여 반환합니다.  풀이11. nums.length 가 k 보다 클 때와 작을 때를 구분짓는다.2. k 보다 작을 때 nums 의 요소 하나씩 더해서 length 만큼 나눈다.3. 소수점 5번째 자리까지 올리기 위해 toStringAsFixed 함수를 사용한다.4. k 보다 클 때 0번째 배열부터 k 길이까지 평균을 구해.. 2024. 10. 31.
LeetCode - 문자열의 최대 공약수/가장 많은 사탕을 가지고 있는 아이들 1071. 문자열의 최대 공약수https://leetcode.com/problems/greatest-common-divisor-of-strings/description/?envType=study-plan-v2&envId=leetcode-75문제주어진 두 문자열 str1과 str2의 가장 큰 공약수(GCD)를 찾아야 합니다. 두 문자열의 공약수는, 두 문자열을 여러 번 반복해서 만들 수 있는 문자열입니다. 예를 들어, "ABCABC"와 "ABC"는 공통적으로 "ABC"로 나뉠 수 있습니다. 풀이1. str1 + str2 값과 str2 + str1 값이 같지 않으면 문자열의 공약수가 없는 것으로 판단한다.2. str1, str2 의 길이로 최대 공약수 값(gcd 메서드)을 구한다.3. str1 의 첫 문자열.. 2024. 10. 28.