def solution(n, arr1, arr2):
answer = []
n_arr1 = []
n_arr2 = []
for i in range(n) :
b = bin(arr1[i])[2:]
while (True) :
if len(b) == n :
break
else :
b = '0' + b
n_arr1.append(b)
for i in range(n) :
b = bin(arr2[i])[2:]
while (True) :
if len(b) == n :
break
else :
b = '0' + b
n_arr2.append(b)
for i in range(n) :
temp = ''
for k in range(n) :
if (n_arr1[i][k] == n_arr2[i][k]) and n_arr1[i][k] == "0" :
temp += ' '
else :
temp += '#'
answer.append(temp)
return answer
ㅠㅠㅠㅠㅠㅠㅠㅠㅠ 진짜
될 것 같은데 자꾸 어디선가 오류나고 디버깅 안 돼서 어딘지도 모르겠고
한창 헤메서 코드 엎고 다시 머리 굴리고 ... 기빨려
arr1, arr2 일단 2진법으로 변환하고
길이 n 될 때까지 앞에 0 붙여줘야 함 !!!
그리고 arr1, arr2 합쳐놓은 2차원 배열 result 하나 만들어서
일단 싹다 '#' 로 초기화해놓고 arr1, arr2 둘 다 공백 겹치는 거 있으면
그 부분만 ' ' 으로 바꿔줄라 했는데
왜인지 모르겠는데 자꾸 인덱스 오류남 엉엉
그래서 포기하고 그냥 문자열 temp 에 이어붙이는 식으로 구현했다,, 끝
그리고 난 이거 풀면서 첨 알았다 ..
진법 자동으로 변환해주는 함수가 있단 걸 ^..
2진법 변환 => bin()
8진법 변환 => oct()
16진법 변환 => hex()
결과는 모두 String 형이고,
0b.., 0o.., 0x.. 형태로 나오니까 떼고 사용하려면 뒤에 [2:] 붙여주면 됨!
'알고리즘' 카테고리의 다른 글
[프로그래머스 Lv2 - 2019 KAKAO BLIND RECRUITMENT] 오픈채팅방 (Python) (0) | 2022.07.02 |
---|---|
[프로그래머스 Lv1 - 2018 KAKAO BLIND RECRUITMENT] 다트 게임 (Python) (0) | 2022.07.01 |
[프로그래머스 Lv1 - 2019 카카오 개발자 겨울 인턴십] 크레인 인형뽑기 게임 (Python) (0) | 2022.06.30 |
[프로그래머스 Lv1 - 2020 카카오 인턴십] 키패드 누르기 (Python) (0) | 2022.06.30 |
[프로그래머스 Lv1 - 2021 카카오 채용연계형 인턴십] 숫자 문자열과 영단어 (Python) (0) | 2022.06.30 |