λ°μν
νλ‘κ·Έλλ¨Έμ€ LV.1 λͺ¨μ
λΉλ°μ§λ
λ¬Έμ μ€λͺ
λ€μ€λ νμ νλ‘λκ° λΉμκΈμ μ¨κ²¨λλ μ₯μλ₯Ό μλ €μ€ λΉλ°μ§λλ₯Ό μμ λ£μλ€. κ·Έλ°λ° μ΄ λΉλ°μ§λλ μ«μλ‘ μνΈνλμ΄ μμ΄ μμΉλ₯Ό νμΈνκΈ° μν΄μλ μνΈλ₯Ό ν΄λ ν΄μΌ νλ€. λ€νν μ§λ μνΈλ₯Ό ν΄λ ν λ°©λ²μ μ μ΄λμ λ©λͺ¨λ ν¨κ» λ°κ²¬νλ€.
- μ§λλ ν λ³μ κΈΈμ΄κ° nμΈ μ μ¬κ°ν λ°°μ΄ ννλ‘, κ° μΉΈμ "곡백"(" ") λλ "λ²½"("#") λ μ’ λ₯λ‘ μ΄λ£¨μ΄μ Έ μλ€.
- μ 체 μ§λλ λ μ₯μ μ§λλ₯Ό κ²Ήμ³μ μ»μ μ μλ€. κ°κ° "μ§λ 1"κ³Ό "μ§λ 2"λΌκ³ νμ. μ§λ 1 λλ μ§λ 2 μ€ μ΄λ νλλΌλ λ²½μΈ λΆλΆμ μ 체 μ§λμμλ λ²½μ΄λ€. μ§λ 1κ³Ό μ§λ 2μμ λͺ¨λ κ³΅λ°±μΈ λΆλΆμ μ 체 μ§λμμλ 곡백μ΄λ€.
- "μ§λ 1"κ³Ό "μ§λ 2"λ κ°κ° μ μ λ°°μ΄λ‘ μνΈνλμ΄ μλ€.
- μνΈνλ λ°°μ΄μ μ§λμ κ° κ°λ‘μ€μμ λ²½ λΆλΆμ 1, 곡백 λΆλΆμ 0μΌλ‘ λΆνΈννμ λ μ»μ΄μ§λ μ΄μ§μμ ν΄λΉνλ κ°μ λ°°μ΄μ΄λ€.
λ€μ€κ° νλ‘λμ λΉμκΈμ μμ λ£μ μ μλλ‘, λΉλ°μ§λμ μνΈλ₯Ό ν΄λ νλ μμ μ λμμ€ νλ‘κ·Έλ¨μ μμ±νλΌ.
μ λ ₯ νμ
μ λ ₯μΌλ‘ μ§λμ ν λ³ ν¬κΈ° nκ³Ό 2κ°μ μ μ λ°°μ΄ arr1, arr2κ° λ€μ΄μ¨λ€.
- 1 β¦ n β¦ 16
- arr1, arr2λ κΈΈμ΄ nμΈ μ μ λ°°μ΄λ‘ μ£Όμ΄μ§λ€.
- μ μ λ°°μ΄μ κ° μμ xλ₯Ό μ΄μ§μλ‘ λ³ννμ λμ κΈΈμ΄λ n μ΄νμ΄λ€. μ¦, 0 β¦ x β¦ 2n - 1μ λ§μ‘±νλ€.
μΆλ ₯ νμ
μλμ λΉλ°μ§λλ₯Ό ν΄λ νμ¬ '#', 곡백μΌλ‘ ꡬμ±λ λ¬Έμμ΄ λ°°μ΄λ‘ μΆλ ₯νλΌ.
μ μΆλ ₯ μ
λ§€κ°λ³μ | κ° |
n | 5 |
arr1 | [9, 20, 28, 18, 11] |
arr2 | [30, 1, 21, 17, 28] |
μΆλ ₯ | ["#####","# # #", "### #", "# ##", "#####"] |
λ§€κ°λ³μ | κ° |
n | 6 |
arr1 | [46, 33, 33 ,22, 31, 50] |
arr2 | [27 ,56, 19, 14, 14, 10] |
μΆλ ₯ | ["######", "### #", "## ##", " #### ", " #####", "### # "] |
μ μΆ
func solution(_ n:Int, _ arr1:[Int], _ arr2:[Int]) -> [String] {
var answer: [String] = []
for i in 0..<n{
var s = String(arr1[i]|arr2[i], radix: 2)
var re = String(repeating: "0", count: n - s.count) + s
answer.append(re.reduce(""){$0 + ($1 == "0" ? " " : "#")})
}
return answer
}
λ λ°°μ΄μ OR μ°μ°ν ν, 2μ§μλ‘ λ³ννλ€. μ΄ν μμ 곡백μ 0μΌλ‘ μ±μ΄λ€.
0μ΄λΌλ©΄ 곡백μΌλ‘, 1μ΄λΌλ©΄ "#"μΌλ‘ λ³ννμ¬ answer λ°°μ΄μ μ μ₯νλ€.
λ€λ₯Έ νμ΄
func solution(_ n:Int, _ arr1:[Int], _ arr2:[Int]) -> [String] {
return (0..<n).map { String(String(arr1[$0]|arr2[$0]|2<<(n - 1), radix: 2).map { $0 == "1" ? "#" : " " }[1...n]) }
}
arr1κ³Ό arr2 κ·Έλ¦¬κ³ 2λ₯Ό n-1λ§νΌ shift ν κ°μ OR μ°μ°ν ν 2μ§μλ‘ λ³ννλ€. (nμ΄ 5μΌ κ²½μ° κΈΈμ΄κ° 6μΈ μ΄μ§μ μμ±)
κ° μ리μκ° 1μ΄λΌλ©΄ "#"μΌλ‘, μλλΌλ©΄ 곡백μΌλ‘ λ³νν ν, κ°μ₯ μλΆλΆμ μ μΈν 1λ²λΆν° nλ²κΉμ§μ κ°μ λ°ννλ€.
ex) arr1[0] = 3, arr2[0] = 4, n = 5 μΈκ²½μ°
3 OR 4 => 111
3 OR 4 OR (2 << 4) => 100111
맨 μμ 1μ λ²λ¦¬λ©΄ 00111λ‘, κΈΈμ΄κ° 5μΈ μ΄μ§μκ° λλ€.
λ°μν
'β¨οΈ Language > swift' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€ LV.1] Kλ²μ§Έμ (0) | 2023.02.22 |
---|---|
[νλ‘κ·Έλλ¨Έμ€ LV.1] λ€νΈ κ²μ (0) | 2023.02.21 |
[νλ‘κ·Έλλ¨Έμ€ LV.1] μμ° (0) | 2023.02.16 |
[νλ‘κ·Έλλ¨Έμ€ LV.1] μμ λ§λ€κΈ° (0) | 2023.02.16 |
[νλ‘κ·Έλλ¨Έμ€ LV.1] μ§μ¬κ°ν λ³μ°κΈ° (0) | 2023.02.15 |