10816번 - 숫자 카드 2
원래 처음엔 if(map.containsKey(list.get(i))) { map.replace(list.get(i), cnt[i]); } 여기안에 cnt 배열대신 cnt = 1 나올때마다 ++ 하는 방식으로 해결하려했는데
다시 cnt = 1로 초기화를 어디서 시켜야할지 애매해서 cnt[i] = Collections.frequency(list, list.get(i)); 이렇게 그냥 갯수를 세주는 함수를 이용해서 배열로 생성했습니다..
답은 잘 나오는데 시간초과가 뜨네요
아무래도 저 배열에서 문제가 있는거같은데 어떻게 수정해야 시간초과가 안 뜰지 잘 모르겠습니다..
입력받는 값들을 list, card 배열에 저장했다가 다시 HashMap에 넣어줄 필요가 없습니다.
입력받으면서 바로 HashMap에 넣어주고, 개수를 확인하면 됩니다.
제가 작성했던 코드 일부를 첨부합니다.
댓글을 작성하려면 로그인해야 합니다.
lms990108 1년 전
원래 처음엔 if(map.containsKey(list.get(i))) { map.replace(list.get(i), cnt[i]); } 여기안에 cnt 배열대신 cnt = 1 나올때마다 ++ 하는 방식으로 해결하려했는데
다시 cnt = 1로 초기화를 어디서 시켜야할지 애매해서
cnt[i] = Collections.frequency(list, list.get(i)); 이렇게 그냥 갯수를 세주는 함수를 이용해서 배열로 생성했습니다..
답은 잘 나오는데 시간초과가 뜨네요
아무래도 저 배열에서 문제가 있는거같은데 어떻게 수정해야 시간초과가 안 뜰지 잘 모르겠습니다..