MUKER_DEV with iOS

[swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - [1์ฐจ] ๋น„๋ฐ€์ง€๋„ ๋ณธ๋ฌธ

๐Ÿค– ์•Œ๊ณ ๋ฆฌ์ฆ˜/programmers

[swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - [1์ฐจ] ๋น„๋ฐ€์ง€๋„

MUKER 2023. 1. 2. 13:24
 

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

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

programmers.co.kr


๋ฌธ์ œํ’€์ด๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํ’€์ด์™€
๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ํ’€์ด๋กœ ๋‚˜๋ˆ„์–ด ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
- ๋ฌธ์ œ์— ๋”ฐ๋ผ ํ•˜๋‚˜์˜ ํ’€์ด๋งŒ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋‚˜์˜ ํ’€์ด

import Foundation

func solution(_ n:Int, _ arr1:[Int], _ arr2:[Int]) -> [String] {
    var a = arr1.map { Int(String($0, radix: 2))! }
    var b = arr2.map { Int(String($0, radix: 2))! }
    var c = (0..<n).map { (a[$0] + b[$0]) }
    var result = c.map { i in
        return String(format: "%0\(n)ld", i).map { $0 == "0" ? " " : "#" }.joined()
    }
    return result
}
  • ๋‘๊ฐœ์˜ ๋ฐฐ์—ด์„ 2์ง„์ˆ˜๋กœ ๋งŒ๋“ค์–ด ์„œ๋กœ ๋”ํ•ด์ค€ ๊ฐ’์„ c์— ๋ฐ˜ํ™˜ํ•˜๊ณ 
  • c์— ๋“ค์–ด์žˆ๋Š” Intํ˜•์„ String์œผ๋กœ ๋ฐ”๊ฟ”์„œ 0์ด ๋“ค์–ด์žˆ๋Š” ๋ถ€๋ถ„์€ ๊ณต๋ฐฑ(" ") ์ˆซ์ž๊ฐ€ ๋“ค์–ด์žˆ์œผ๋ฉด "#"์„ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฌธ์ œ๊ฐ€ ๋˜์—ˆ๋˜ ์ ์€, ๋ฌธ์žํ˜•์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ ์•ž๋ถ€๋ถ„ ๊ณต๋ฐฑ์„ ์•Œ๋งž๊ฒŒ ์ฑ„์›Œ์ฃผ๊ธฐ ์œ„ํ•ด String(format)์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ
  • 2๋ฒˆ, 6๋ฒˆ ์ผ€์ด์Šค์—์„œ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์œ ๋Š” ํ‰์†Œ ์‚ฌ์šฉํ•˜๋˜ "%0์ˆซ์žd" ํฌ๋ฉง์€ Intํ˜•์˜ ๋ฒ”์œ„๋ฅผ ๋‹ด๋Š”๋ฐ, ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๊ฐ€ ๊ทธ ์ˆ˜๋ฅผ ์ดˆ๊ณผํ•œ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • ๊ทธ๋ž˜์„œ "%0์ˆซ์žld"๋ฅผ ์‚ฌ์šฉํ•ด Doubleํ˜•์œผ๋กœ ํฌ๋ฉงํ•˜๋‹ˆ ์‹คํŒจ ์—†์ด ๋ชจ๋‘ ์„ฑ๊ณตํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

 

์ฐธ๊ณ ํ• ๋งŒํ•œ ํ’€์ด

import Foundation

func solution(_ n:Int, _ arr1:[Int], _ arr2:[Int]) -> [String] {
    return (0..<n).map {
        let binary = String(arr1[$0] | arr2[$0], radix: 2)
        let padded = String(repeating: "0", count: n - binary.count) + binary
        return padded.reduce("") { $0 + ($1 == "0" ? " " : "#") }
    }
}
  • ํ—ˆํ—ˆ..๋น„ํŠธ ์—ฐ์‚ฐ์ž๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‘ ๋ฐฐ์—ด์˜ 2์ง„์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ด์ค„ ์ˆ˜ ์žˆ์—ˆ๋‹ค..!!!!
  • ๋‹ค์Œ์— 2์ง„์ˆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๊ฒŒ ๋œ๋‹ค๋ฉด, ๋น„ํŠธ ์—ฐ์‚ฐ์ž๊ฐ€ ์žˆ๋‹ค๋Š”๊ฑธ ๊นŒ๋จน์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค..