반응형
문제
Smallest Even Multiple - LeetCode
문제 해결 방법
- multiple of 2라는 뜻은 숫자가 짝수여야 한다는 뜻이다.
- multiple of n라는 뜻은 숫자가 n의 배수여야 한다는 뜻이다.
- 이 문제는 n의 배수중에 가장 작은 짝수를 찾는 문제이다.
- 처음에는 n을 반복해서 증가시키고, 그중 짝수면 리턴하는 알고리즘을 짰었다. 하지만 그러고 깨달았다. 두번째 n의 배수는 언제나 짝수일수밖에 없다.
- 그러므로 가장 효율적인 알고리즘은 아래와 같다
- n이 짝수인지 확인한다.
- n이 짝수라면 n을 리턴한다.
- n이 짝수가 아니라면 다음배수는 언제나 짝수이다.
- 그러므로 n*2를 리턴한다.
Github Link
https://github.com/eunhanlee/LeetCode_2413_SmallestEvenMultiple_Solution.git
시간복잡도: O(1), 공간복잡도: O(1)
public class Solution {
/**
* 주어진 숫자의 가장 작은 짝수의 배수를 찾습니다.
*
* @param n 가장 작은 짝수의 배수를 찾을 숫자입니다.
* @return 주어진 숫자의 가장 작은 짝수의 배수입니다.
*/
public int smallestEvenMultiple(int n) {
if (n % 2 == 0) {
return n;
} else {
return n * 2;
}
}
}
반응형
'old > Algorithm Solving' 카테고리의 다른 글
LeetCode 112. Path Sum 자바 문제 풀이 (0) | 2023.10.24 |
---|---|
LeetCode 75. Sort Colors 자바 문제 풀이 (0) | 2023.08.23 |
LeetCode 1672. Richest Customer Wealth 자바 문제 풀이 (0) | 2023.08.11 |
GFG Count the Substrings 자바 문제 풀이 (0) | 2023.08.09 |
LeetCode 236. Lowest Common Ancestor of a Binary Tree 자바 문제 풀이 (0) | 2023.08.07 |