본문 바로가기

LeetCode

[LeetCode] - 2413. Smallest Even Multiple

LeetCode는 프로그래밍 문제를 풀며 코딩 실력을 향상할 수 있는 온라인 플랫폼입니다. 다양한 알고리즘 및 데이터 구조 문제를 제공하며, 면접 대비에 유용합니다. 해당 문제는, LeetCode Problems에서 볼 수 있는 난이도 '쉬움 (Easy)' 단계인 "Smallest Even Multiple" 문제입니다.

--> https://leetcode.com/problems/smallest-even-multiple/description/

 

문제 :

Given a positive integer n, return the smallest positive integer that is a multiple of both 2 and n.


Example 1 :

Input : n = 5

Output : 10

Explanation : The smallest multiple of both 5 and 2 is 10.

 

Example 2 :

Input : n = 6

Output : 6

Explanation : The smallest multiple of both 6 and 2 is 6. Note that a number is a multiple of itself.

 

Constraints : 1 <= n <= 150


이 문제는 주어진 문제는 양의 정수 n이 주어졌을 때, 2와 n의 공배수 중 가장 작은 양의 정수를 찾는 것입니다.

정말로 이 문제는 너무 쉬워서 함정인 줄 알았습니다. 이제 기초연산 및 조건문을 배우시는 초보분들께 추천드립니다.

 

class Solution {
    public int smallestEvenMultiple(int n) {
        if (n % 2 == 0){
            return n;
        } else {
            return n * 2;
        }
    }
}

 

접근 방법 :

  1. n이 짝수일 경우 :
    • n 자체가 이미 2의 배수이기 때문에 n은 2와 n의 가장 작은 공배수입니다. 따라서 n을 반환하면 됩니다.
  2. n이 홀수일 경우 :
    • n은 홀수이기 때문에 2의 배수가 아닙니다. 그러므로 가장 작은 공배수는 n을 2배 한 값, 즉 n * 2입니다.

시간 복잡도와 공간 복잡도는 모두 O(1)입니다.


코드 Runtime 결과