๊ธฐ๋ก๋ฐฉ

Lv.2 : N๊ฐœ์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ ๋ณธ๋ฌธ

CodingTest/Java

Lv.2 : N๊ฐœ์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜

Soom_1n 2023. 9. 16. 16:23

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • n๊ฐœ์˜ ์ž์—ฐ์ˆ˜์— ๋Œ€ํ•œ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๐Ÿ”ธ ๋ฌธ์ œ ํ’€์ด ๐Ÿ”ธ

  • a, b ๋‘ ์ˆ˜์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋Š” 'a * b / (a์™€ b์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜) ' ๊ณต์‹์„ ์ด์šฉํ•œ๋‹ค.
  • 1๋ฒˆ์งธ ์›์†Œ์™€ 2๋ฒˆ์งธ ์›์†Œ์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ณ , ๊ทธ ๊ฐ’์„ 3๋ฒˆ์งธ ์›์†Œ์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉฐ n๋ฒˆ์งธ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋ฉด n๊ฐœ์˜ ์ž์—ฐ์ˆ˜์— ๋Œ€ํ•œ ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

import java.util.Arrays;

class Solution {
    public int solution(int[] arr) {
        int answer = arr[0];
        
        for(int i = 1; i < arr.length; i++) {
            answer = lcm(answer, arr[i]);
        }
        
        return answer;
    }
    
    private int lcm(int a, int b) {
        return a * b / gcd(a, b);
    } 
    
    private int gcd(int a, int b) {
        if(a < b) {
            int temp = a;
            a = b;
            b = temp;
        }
        
        int result = a % b;
        
        if(result == 0)
            return b;
        else
            return gcd(b, result);
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • ์œ„์˜ ๊ณต์‹๋Œ€๋กœ ์ตœ์†Œ๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.
  • ์ตœ๋Œ€๊ณต๋ฐฐ์ˆ˜๋Š” ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์„ ์ด์šฉํ•ด์„œ ๊ตฌํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

    • n๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ตœ๋Œ€ 100์ด์ง€๋งŒ, 15๊ฐœ ๋ชจ๋‘ ์†Œ์ธ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค๋ฉด long์˜ ๋ฒ”์œ„๋„ ๋ฒ—์–ด๋‚  ์ˆ˜ ์žˆ์–ด๋ณด์˜€๋‹ค.
    • ํ•˜์ง€๋งŒ, ์ด ๋ฌธ์ œ์—์„  ๊ทธ๋Ÿฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ๋„ฃ์–ด๋‘์ง€์•Š์•„์„œ long๋„ ์•„๋‹Œ int๋กœ๋งŒ ํ•ด๋„ ์ถฉ๋ถ„ํžˆ ํ†ต๊ณผ๋˜์—ˆ๋‹ค
      • ๋ฐ˜ํ™˜๊ฐ’์ด long์ด ์•„๋‹Œ int์—ฌ์„œ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

728x90

'CodingTest > Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Lv.2 : ๊ทค ๊ณ ๋ฅด๊ธฐ  (0) 2023.09.18
Lv.2 : ๋ฉ€๋ฆฌ ๋›ฐ๊ธฐ  (0) 2023.09.17
Lv.2 : ์˜ˆ์ƒ ๋Œ€์ง„ํ‘œ  (0) 2023.09.14
Lv.2 : ์ ํ”„์™€ ์ˆœ๊ฐ„ ์ด๋™  (0) 2023.09.14
Lv.2 : ๊ตฌ๋ช…๋ณดํŠธ  (0) 2023.09.12