[LeetCode] Find Common Characters

아르당·약 11시간 전

LeetCode

목록 보기
216/216
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

문자열 배열 words가 주어졌을 때, 모든 문자열에 나타나는 모든 문자(중복 포함)의 배열을 반환해라. 정렬되지 않아도 된다.

Example

#1
Input: words = ["bella", "label", "roller"]
Output: ["e", "l", "l"]

#2
Input: words = ["cool", "lock", "cook"]
Output: ["c", "o"]

Constraints

  • 1 <= words.length <= 100
  • 1 <= words[i].length <= 100
  • words[i]는 영어 소문자로 구성된다.

Solved

class Solution {
    public List<String> commonChars(String[] words) {
        List<String> result = new ArrayList<>();

        for(char c = 'a'; c <= 'z'; c++){
            int min = Integer.MAX_VALUE;

            for(String word : words){
                int count = 0;

                for(char w : word.toCharArray()){
                    if(w == c){
                        count++;
                    }
                }

                min = Math.min(min, count);

                if(min == 0){
                    break;
                }
            }

            for(int i = 0; i < min; i++){
                result.add(String.valueOf(c));
            }
        }

        return result;
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글