2022년 08월 17일 수요일 - 요즘 쉬운 문제밖에 못푸는 거 같어..


오늘 올려볼 문제는 804번 Unique Morse Code Words 이라는 문제이다.


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

leetcode 문제 사진

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

문제 대충보고 이게 왜 easy야 라고 생각했었다 ㅋㅋㅋㅋ


입력


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



풀이 및 코드


String 배열에 들어있는 String 원소를 주어진 모스 부호로 치환했을 때 나오는 형식이 몇개 있는지 구하여 리턴하는 문제다.


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

모스 부호는 상수 배열로 선언해두고 만들어진 모스부호는 HashSet에 넣어두어서 중복을 처리하는 방식으로 문제를 풀었다.


이제 코드를 봐보자!


풀이코드

class Solution {
    public int uniqueMorseRepresentations(String[] words) {
        String[] arr = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};
        
        HashSet<String> set = new HashSet<>();
        int result = 0;
        
        for(String word : words) {
            StringBuilder sb = new StringBuilder();
            
            for(char c : word.toCharArray()) sb.append(arr[c - 'a']);
            
            if(!set.contains(sb.toString())) {
                set.add(sb.toString());
                result++;
            }
        }
        
        return result;
    }
}




제출 화면

leetcode 문제 맞았습니다


요즘 회사에서 캡처하는게 편하다보니 회사에 있을 때 문제를 못 풀면 블로그를 올리기 힘들어지는 것 같다.

즉... 블로그에 점점 쉬운 문제만 올라가는 안좋은 현상이 일어나는듯....

앞으로는 머리가 휙휙 돌아가서 어려운 문제도 똭 풀어서 블로그에 올렸으면 좋겠다.


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

+ Recent posts