2022년 05월 04일 수요일 - 와 4일동안 쉰다!


오늘 올려볼 문제는 1679번 Max Number of K-Sum Pairs 이라는 문제이다.


사진을 클릭하면 해당 문제로 이동합니다.

leetcode 문제 사진

오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.

제약조건 잘못 읽어서 귀찮아씀


입력


사진에서도 볼 수 있듯이 int 배열 1개와 int 값 1개가 입력으로 들어온다.



풀이 및 코드


주어진 배열에 2가지 원소를 뽑아 합이 k가 되는 가지수가 몇가지가 있는지 계산하여 리턴하는 문제다.

단 한 번 세었던 원소들은 다시 세지 않는다.


오늘은 처음부터 정답을 생각해냈다.

HashMap에 원소들을 넣고 합이 k가 되는 원소가 있는지 판단하기만 했다.


이제 코드를 봐보자!


풀이코드

class Solution {
    public int maxOperations(int[] nums, int k) {
        HashMap<Integer, Integer> map = new HashMap<>();
        int result = 0;

        for(int num : nums)
        {
            if(map.getOrDefault(k - num, 0) > 0)
            {
                result++;
                map.put(k - num, map.get(k - num) - 1);
            }
            else
            {
                map.put(num, map.getOrDefault(num, 0) + 1);
            }
        }

        return result;
    }
}




제출 화면

leetcode 문제 맞았습니다


미디엄치고 너무 쉬웠다.

내일은 적당히 어렵고 재밌는 문제가 나왔으면 정말 좋겠네~~ 정말 좋겠네


내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.

+ Recent posts