๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โŒจ๏ธ Language/swift

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0 ํ”ผ์ž ๋‚˜๋ˆ  ๋จน๊ธฐ(2)

by hyebin (Helia) 2022. 11. 30.
๋ฐ˜์‘ํ˜•
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0 ๋ชจ์Œ

ํ”ผ์ž ๋‚˜๋ˆ  ๋จน๊ธฐ

๋ฌธ์ œ ์„ค๋ช…

๋จธ์“ฑ์ด๋„ค ํ”ผ์ž๊ฐ€๊ฒŒ๋Š” ํ”ผ์ž๋ฅผ ์—ฌ์„ฏ ์กฐ๊ฐ์œผ๋กœ ์ž˜๋ผ ์ค๋‹ˆ๋‹ค. ํ”ผ์ž๋ฅผ ๋‚˜๋ˆ ๋จน์„ ์‚ฌ๋žŒ์˜ ์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, n๋ช…์ด ์ฃผ๋ฌธํ•œ ํ”ผ์ž๋ฅผ ๋‚จ๊ธฐ์ง€ ์•Š๊ณ  ๋ชจ๋‘ ๊ฐ™์€ ์ˆ˜์˜ ํ”ผ์ž ์กฐ๊ฐ์„ ๋จน์–ด์•ผ ํ•œ๋‹ค๋ฉด ์ตœ์†Œ ๋ช‡ ํŒ์„ ์‹œ์ผœ์•ผ ํ•˜๋Š”์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • 1 ≤ n ≤ 100

์ž…์ถœ๋ ฅ ์˜ˆ

n result
6 1
10 5
4 2

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • 6๋ช…์ด ๋ชจ๋‘ ๊ฐ™์€ ์–‘์„ ๋จน๊ธฐ ์œ„ํ•ด ํ•œ ํŒ์„ ์‹œ์ผœ์•ผ ํ”ผ์ž๊ฐ€ 6์กฐ๊ฐ์œผ๋กœ ๋ชจ๋‘ ํ•œ ์กฐ๊ฐ์”ฉ ๋จน์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • 10๋ช…์ด ๋ชจ๋‘ ๊ฐ™์€ ์–‘์„ ๋จน๊ธฐ ์œ„ํ•ด ์ตœ์†Œ 5ํŒ์„ ์‹œ์ผœ์•ผ ํ”ผ์ž๊ฐ€ 30์กฐ๊ฐ์œผ๋กœ ๋ชจ๋‘ ์„ธ ์กฐ๊ฐ์”ฉ ๋จน์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #3

  • 4๋ช…์ด ๋ชจ๋‘ ๊ฐ™์€ ์–‘์„ ๋จน๊ธฐ ์œ„ํ•ด ์ตœ์†Œ 2ํŒ์„ ์‹œํ‚ค๋ฉด ํ”ผ์ž๊ฐ€ 12์กฐ๊ฐ์œผ๋กœ ๋ชจ๋‘ ์„ธ ์กฐ๊ฐ์”ฉ ๋จน์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ œ์ถœ

import Foundation

func gcd(_ num1: Int, _ num2: Int) -> Int{
    if num2 == 0 {
        return num1
    }else{
        return gcd(num2, num1%num2)
    }
}

func solution(_ n:Int) -> Int {
    return n/gcd(6,n)
}
6๊ณผ n์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•œ ํ›„ n์„ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋กœ ๋‚˜๋ˆˆ ๋ชซ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

๋‹ค๋ฅธ ํ’€์ด

import Foundation

func solution(_ n:Int) -> Int {
    var result = 1
    while true {
        if (6 * result) % n == 0 {
            return result
        }
        result += 1
    }
}
๋ณ€์ˆ˜๋ฅผ 1์”ฉ ์ฆ๊ฐ€ํ•ด๊ฐ€๋ฉฐ 6์„ ๊ณฑํ•œ ๋ณ€์ˆ˜ ๊ฐ’์ด n์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด ๋ณ€์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
๋ฐ˜์‘ํ˜•