반응형
문제
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;
}
}
반응형
'old > Algorithm Solving' 카테고리의 다른 글
LeetCode 1920. Build Array from Permutation 자바 문제 풀이 (0) | 2023.07.12 |
---|---|
LeetCode 62. Unique Paths 자바 문제 풀이 (0) | 2023.07.11 |
LeetCode 36. Valid Sudoku 자바 문제 풀이 (0) | 2023.07.06 |
LeetCode 102. Binary Tree Level Order Traversal 자바 문제 풀이 (0) | 2023.07.05 |
LeetCode 347. Top K Frequent Elements 자바 문제 풀이 (0) | 2023.07.05 |