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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] 7์˜ ๊ฐœ์ˆ˜

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

7์˜ ๊ฐœ์ˆ˜

๋ฌธ์ œ ์„ค๋ช…

๋จธ์“ฑ์ด๋Š” ํ–‰์šด์˜ ์ˆซ์ž 7์„ ๊ฐ€์žฅ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. ์ •์ˆ˜ ๋ฐฐ์—ด array๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, 7์ด ์ด ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ๋ณด์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • 1 ≤ array์˜ ๊ธธ์ด ≤ 100
  • 0 ≤ array์˜ ์›์†Œ ≤ 100,000

์ž…์ถœ๋ ฅ ์˜ˆ

array result
[7, 77, 17] 4
[10, 29] 0

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

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

  • [7, 77, 17]์—๋Š” 7์ด 4๊ฐœ ์žˆ์œผ๋ฏ€๋กœ 4๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.

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

  • [10, 29]์—๋Š” 7์ด ์—†์œผ๋ฏ€๋กœ 0์„ return ํ•ฉ๋‹ˆ๋‹ค.

์ œ์ถœ

import Foundation

func solution(_ array:[Int]) -> Int {
    var answer = 0
    
    for a in array{
        if a == 7{
            answer += 1
            continue
        }
        
        var num = a
        while num > 0{
            if num%10 == 7{
                answer += 1
            }
            num /= 10
        }
    }
    return answer
}
์ž…๋ ฅ๋ฐ›์€ ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ํ™•์ธํ•˜๋ฉฐ, 7์ด๋ผ๋ฉด answer ๋ณ€์ˆ˜์— 1์„ ๋”ํ•œ๋‹ค.
7์ด ์•„๋‹ˆ๋ผ๋ฉด ์ •์ˆ˜๋ฅผ ํ•œ ์ž๋ฆฌ์”ฉ ํ™•์ธํ•˜์—ฌ 7์˜ ๊ฐœ์ˆ˜๋ฅผ answer ๋ณ€์ˆ˜์— ๋”ํ•œ๋‹ค.

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

import Foundation

func solution(_ array:[Int]) -> Int {
    return array.map{String($0)}.joined().filter{$0 == "7"}.count
}
์ •์ˆ˜ํ˜• ๋ฐฐ์—ด์„ String์œผ๋กœ ๋ณ€ํ™˜ํ•œ ํ›„, filter ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด 7์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•œ ํ›„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
๋ฐ˜์‘ํ˜•