알고리즘 문제 풀이

[Swift] 프로그래머스 LV1. [1차] 비밀지도

lgvv 2022. 3. 19. 16:16

프로그래머스 LV1. [1차] 비밀지도

 

func solution(_ n:Int, _ arr1:[Int], _ arr2:[Int]) -> [String] {
        var answer: [String] = []
        
        for i in 0..<n {
            let combinebits = arr1[i] | arr2[i]
            let binary3: String = String(combinebits, radix: 2)
           
            var cherry = binary3.map { bit -> String in
                if bit == "1" {
                    return "#"
                } else {
                    return " "
                }
            }
            
            while(cherry.count < n) {
                cherry.insert(" ", at: 0)
            }
            answer.append(cherry.joined())
        }
        
        
        return answer
    }

 

10진수를 2진수로 바꾸어서 해야하나..? 생각했었는데 그럴 필요가 없더라 

암튼 이지 했는데, 그냥 뭔가 음 ,, 오랜만에 비트 연산자 써보는 것 같아서 이렇게도 쓸 수 있다고 포스팅!