Algorithm/Programmers
[4μ£Όμ°¨] νλ‘κ·Έλλ¨Έμ€ λΉλ°μ§λ
do-oni
2021. 8. 15. 15:40
π»Q
λ€μ€λ νμ νλ‘λκ° λΉμκΈμ μ¨κ²¨λλ μ₯μλ₯Ό μλ €μ€ λΉλ°μ§λλ₯Ό μμ λ£μλ€.
κ·Έλ°λ° μ΄ λΉλ°μ§λλ μ«μλ‘ μνΈνλμ΄ μμ΄ μμΉλ₯Ό νμΈνκΈ° μν΄μλ μνΈλ₯Ό ν΄λ ν΄μΌ νλ€.
λ€νν μ§λ μνΈλ₯Ό ν΄λ ν λ°©λ²μ μ μ΄λμ λ©λͺ¨λ ν¨κ» λ°κ²¬νλ€.
• μ§λλ ν λ³μ κΈΈμ΄κ° nμΈ μ μ¬κ°ν λ°°μ΄ ννλ‘, κ° μΉΈμ "곡백"(" ") λλ "λ²½"("#") λ μ’ λ₯λ‘ μ΄λ£¨μ΄μ Έ μλ€.
• μ 체 μ§λλ λ μ₯μ μ§λλ₯Ό κ²Ήμ³μ μ»μ μ μλ€.
κ°κ° "μ§λ 1"κ³Ό "μ§λ 2"λΌκ³ νμ. μ§λ 1 λλ μ§λ 2 μ€ μ΄λ νλλΌλ λ²½μΈ λΆλΆμ μ 체 μ§λμμλ λ²½μ΄λ€.
μ§λ 1κ³Ό μ§λ 2μμ λͺ¨λ κ³΅λ°±μΈ λΆλΆμ μ 체 μ§λμμλ 곡백μ΄λ€.
• "μ§λ 1"κ³Ό "μ§λ 2"λ κ°κ° μ μ λ°°μ΄λ‘ μνΈνλμ΄ μλ€.
• μνΈνλ λ°°μ΄μ μ§λμ κ° κ°λ‘μ€μμ λ²½ λΆλΆμ 1, 곡백 λΆλΆμ 0μΌλ‘ λΆνΈννμ λ μ»μ΄μ§λ μ΄μ§μμ ν΄λΉνλ κ°μ λ°°μ΄μ΄λ€.
λ€μ€κ° νλ‘λμ λΉμκΈμ μμ λ£μ μ μλλ‘, λΉλ°μ§λμ μνΈλ₯Ό ν΄λ νλ μμ μ λμμ€ νλ‘κ·Έλ¨μ μμ±νλΌ.
μ λ ₯
• μ λ ₯μΌλ‘ μ§λμ ν λ³ ν¬κΈ° n κ³Ό 2κ°μ μ μ λ°°μ΄ arr1, arr2κ° λ€μ΄μ¨λ€.
• 1 β¦ n β¦ 16arr1, arr2λ κΈΈμ΄ nμΈ μ μ λ°°μ΄λ‘ μ£Όμ΄μ§λ€.
• μ μ λ°°μ΄μ κ° μμ xλ₯Ό μ΄μ§μλ‘ λ³ννμ λμ κΈΈμ΄λ n μ΄νμ΄λ€. μ¦, 0 β¦ x β¦ 2n - 1μ λ§μ‘±νλ€.
μΆλ ₯
• μλμ λΉλ°μ§λλ₯Ό ν΄λ νμ¬ '#' , 곡백μΌλ‘ ꡬμ±λ λ¬Έμμ΄ λ°°μ΄λ‘ μΆλ ₯νλΌ.
π‘A
toBinaryString λ©μλλ‘ μ λ΅ λ°°μ΄μ νλΌλ―Έν°λ‘ λ€μ΄μ¨ λΉλ°μ§λ λ°°μ΄ μ μλ₯Ό μ΄μ§μλ‘ λ°κΎΈμ΄μ€λ€.
μ§λ 1,2 μ€ νλλΌλ λ²½μ΄κ±°λ 곡백μ΄λ©΄ μ 체 μ§λμ μ μ©μ΄ λκΈ° λλ¬Έμ λ Όλ¦¬ μ°μ° ORμ μ¬μ©νλ€.
μ¬κΈ°κΉμ§ μκ°νκ³ νμλλ° ν μ€νΈ 1λ§ ν΅κ³Όλμλ€.
class Solution { public String[] solution(int n, int[] arr1, int[] arr2) { String[] answer = new String[n]; for(int i = 0; i < n; i++) { answer[i] = Integer.toBinaryString(arr1[i] | arr2[i]); answer[i] = answer[i].replaceAll("[1]", "#"); answer[i] = answer[i].replaceAll("[0]", " "); } return answer; } }
λ€μ λ€λ₯Έ νμ΄λ₯Ό μ°Έκ³ ν΄ λ³΄λ λμΉ λΆλΆμ΄ λ°°μ΄ κΈΈμ΄ μ€μ μ nκ°λ‘ ν΄μ£Όλ λΆλΆμμ String.formatμΌλ‘ μ€μ ν΄ μ€ μ μλ€λ κ±Έ μκ² λμλ€.
class Solution { public String[] solution(int n, int[] arr1, int[] arr2) { String[] answer = new String[n]; for(int i = 0; i < n; i++) { answer[i] = Integer.toBinaryString(arr1[i] | arr2[i]); answer[i] = String.format("%"+n+"s", answer[i]); answer[i] = answer[i].replaceAll("[1]", "#"); answer[i] = answer[i].replaceAll("[0]", " "); } return answer; } }β