본문 바로가기

old/Algorithm Solving

LeetCode 2114. Maximum Number of Words Found in Sentences 자바 문제 풀이

반응형

문제

Maximum Number of Words Found in Sentences - LeetCode

문제 해결 방법

  • 이 문제는 문장에서 단어의 개수를 세고, 이를 비교해서 가장 많은 단어수를 찾는 문제입니다.
  • 반복문, 단어개수 세는법, 최대값 찾는 법 등을 알고 있고 이를 잘 조합하여 사용할수 있는지 묻는 문제입니다.
  • 알고리즘
    • 반복문을 사용하여 각각 문장을 확인합니다
    • 각 문장의 단어수를 계산합니다
    • 단어 수들을 비교하여 최대값을 찾아냅니다.
  • 여러가지 방법이 있는데 이유는 각각 반복문, 단어개수 세는법, 최대값 찾는 법등이 여러가지가 있기 떄문입니다.
    • 반복문: for문, while문, advanced for문
    • 단어개수 세는법: split을 이용하여 분할하여 단어 개수 세기, char어레이로 빈칸수를 찾은다음 1을 더하기
    • 최대값 찾는 법: if문을 이용한 비교, ?연산자를 사용한 비교, Math.max를 사용한 비교
  • 아래 코드는 advanced for문, split을 이용하여 분할하여 단어 개수 세기, Math.max를 사용한 비교를 하여 문제를 풀었습니다.

Github Link

https://github.com/eunhanlee/LeetCode_2114_MaximumNumberofWordsFoundinSentences_Solution

시간복잡도: O(nm), 공간복잡도: O(1)

public class Solution {
    /**
     * 주어진 문장 배열에서 가장 많은 단어의 수를 찾습니다.
     *
     * @param sentences 문장을 나타내는 문자열 배열
     * @return 어떤 문장에서 가장 많은 단어 수
     */
    public int mostWordsFound(String[] sentences) {
        int max = 0;

        for (String sentence : sentences) {
            max = Math.max(max, sentence.split(" ").length);
        }

        return max;
    }
}
반응형