-
[2018 KAKAO BLIND RECRUITMENT] [1μ°¨] λΉλ°μ§λ - Level1곡λΆ/μκ³ λ¦¬μ¦ 2022. 12. 5. 16:20728x90
πλ¬Έμ μ€λͺ
λ€μ€λ νμ νλ‘λκ° λΉμκΈμ μ¨κ²¨λλ μ₯μλ₯Ό μλ €μ€ λΉλ°μ§λλ₯Ό μμ λ£μλ€. κ·Έλ°λ° μ΄ λΉλ°μ§λλ μ«μλ‘ μνΈνλμ΄ μμ΄ μμΉλ₯Ό νμΈνκΈ° μν΄μλ μνΈλ₯Ό ν΄λ ν΄μΌ νλ€. λ€νν μ§λ μνΈλ₯Ό ν΄λ ν λ°©λ²μ μ μ΄λμ λ©λͺ¨λ ν¨κ» λ°κ²¬νλ€.
- μ§λλ ν λ³μ κΈΈμ΄κ° 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] μΆλ ₯ ["######", "### #", "## ##", " #### ", " #####", "### # "] π μ²μ μκ°ν μμ΄λμ΄
νλμ© μ§λλ₯Ό λ§λλ λ°©λ²λΆν° μ μΌ λ¨Όμ λ μ¬λμ§λ§
1. arr1, arr2 10μ§μλ€ 2μ§μλ‘ λ³νν΄μ μ§λ λ§λ€κΈ° (1μ΄ λ²½)
2. arr1, arr2 κ²ΉμΉλ λΆλΆμ μ κ±°νκΈ°λ§ νλ©΄..?!
λκ² μ§λ§ ν λ²μ μ²λ¦¬νλ λ°©λ²μ μκ°νλ€.
2μ§μλ‘ λ³ννκ³ or λΉνΈ μ°μ°μ ν΄μ£Όλ©΄ μνλ κ²°κ³Όκ° λμ€λ κ·Έκ²μ answer λ°°μ΄μ μ μ₯νλ€.
String str = String.format("%"+n+"s", Integer.parseInt(Integer.toBinaryString(arr1[i]|arr2[i]))).replace(" ", "0");μ μ½λλ‘ μλ¦Ώμλ₯Ό nλ§νΌ κ³ μ νκ³ λΉνΈμ°μ° | (or) ν΄μ strμ μ μ₯ν μ μλ€.
replaceλ₯Ό μ΄μ©ν΄ 1μ "#"μΌλ‘ 0μ " " 곡백μΌλ‘ λ°κΏμ£Όλ©΄ λ!
μ΄λΌκ³ μκ°νλλ° ν μ€νΈ μΌμ΄μ€ 2,6μμ λ°νμ μλ¬κ° λ΄λ€.
μ§λ¬Έ λͺ©λ‘μ μ°Ύμ보λ
ν μ€νΈ μΌμ΄μ€ 2, 6λ²μ λμ νλ κ°μ΄ ν° κ±° κ°μ΅λλ€. IntegerνμΌλ‘ ννν μ μλ μ΅λ κ°μ μ΄κ³Όν΄μ λ°νμ μλ¬κ° λ°μνλ κ² κ°μλ° μ λ LongνμΌλ‘ λ°κΏ¨λλ ν΄κ²°λμ΅λλ€.
μ΄λ° λ΅λ³μ΄ μμ΄ Integer -> LongμΌλ‘ λ°κΏ¨λλ ν΅κ³Όν μ μμλ€.
βοΈ μμ±ν μ½λ
class Solution { public String[] solution(int n, int[] arr1, int[] arr2) { String[] answer = new String[n]; for(int i=0;i<n;i++) { String s = String.format("%"+n+"s", Long.parseLong(Long.toBinaryString(arr1[i]|arr2[i]))).replace("1", "#").replace("0", " "); answer[i] = s; } return answer; } }π μκ² λ μ
(1) String.format("%4s", str);
μλ¦Ώμ κ³ μ ν΄μ intνμ λ°μ΄λ리 μ€νΈλ§μΌλ‘ λ°κΎΈλ λ°©λ²μ μκ² λμλ€.
맨 μμ 0μ 곡백μΌλ‘ μ²λ¦¬λκΈ° λλ¬Έμ μμ νκ² λ°κΎΈλ €λ©΄ replace(" ", "0"); μ²λ¦¬λ₯Ό ν΄μ£Όμ΄μΌ νλ€.
μ ν쑰건μ νμΈνλ μ΅κ΄μ λ€μ΄μ.
'κ³΅λΆ > μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[2018 KAKAO BLIND RECRUITMENT] [1μ°¨] λ€νΈ κ²μ - Level1 (0) 2022.12.07 [2018 KAKAO BLIND RECRUITMENT] [1μ°¨] λ΄μ€ ν΄λ¬μ€ν°λ§ - level2 (0) 2022.12.06 [Summer/Winter Coding(~2018)] λ°©λ¬ΈκΈΈμ΄ - Level2, Java (0) 2022.11.27 [Summer/Winter Coding(~2018)] μμ΄ λλ§μκΈ° - level2 (0) 2022.11.25 [Summer/Winter Coding(~2018)] μμ λ§λ€κΈ° - Level1 (1) 2022.11.25