2022년 06월 28일 화요일 - 오늘 좀 힘드네용
오늘 올려볼 문제는 1647번 Minimum Deletions to Make Character Frequencies Unique 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
오늘 회사에서 leetcode 들어가는 걸 까먹었다....
입력
사진에서도 볼 수 있듯이 String 1개가 입력으로 들어온다.
풀이 및 코드
String을 구성하는 원소들 중 반복하는 개수가 겹치지 않게끔 원소를 지우는데 최소로 지워서 만족하게끔 할 수 있는 개수를 구하여 리턴하는 문제다.
오늘은 처음부터 정답을 생각해냈다.
일단 String의 원소들 개수를 세고 겹치는게 안생길 때까지 그냥 다 지워줬다.
이제 코드를 봐보자!
풀이코드
class Solution {
public int minDeletions(String s) {
int[] arr = new int[26];
HashMap<Integer, Boolean> map = new HashMap<>();
int result = 0;
for(char c : s.toCharArray()) arr[c - 'a']++;
for(int num : arr)
{
if(num == 0) continue;
if(map.containsKey(num))
{
while(num > 0 && map.containsKey(num))
{
num--;
result++;
}
}
map.put(num, true);
}
return result;
}
}
제출 화면
오늘 회사에서도 문제를 안 본 것 치고는 문제를 꽤 빨리 풀었다.
내일도 이렇게 잘 풀 수 있었으면 좋겠다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 729번 문제를 풀어보았다. (ft. java) (0) | 2022.08.03 |
---|---|
[LeetCode] 62번 문제를 풀어보았다. (ft. java) (0) | 2022.08.01 |
[LeetCode] 665번 문제를 풀어보았다. (ft. java) (0) | 2022.06.25 |
[LeetCode] 5번 문제를 풀어보았다. (ft. java) (0) | 2022.06.16 |
[LeetCode] 120번 문제를 풀어보았다. (ft. java) (0) | 2022.06.13 |