반응형
- 문제
https://school.programmers.co.kr/learn/courses/30/lessons/17681?language=python3
- 풀이
- Python
def solution(n, arr1, arr2):
a1 = [int(bin(x)[2:]) for x in arr1]
b1 = [int(bin(x)[2:]) for x in arr2]
c1 = [a1[x] + b1[x] for x in range(0, n)]
c2 = []
for x in c1:
if len(str(x)) != n:
blank = '0' * (n - len(str(x))) + str(x)
c2.append(blank)
else:
c2.append(str(x))
sen = ''
answer = []
for x in c2:
for y in x:
if y == '1' or y == '2':
sen += '#'
elif y == '0':
sen += ' '
else:
sen += ''
sen2 = ''
count = 0
for x in sen:
sen2 += x
count += 1
if count % n == 0:
answer.append(sen2)
sen2 = ''
return answer
bin(x)
bin(x)[2:]
1번은 십진수 x를 2진수로 바꾸는 방법
만약 x가 11이면 '0b1101' 가 출력된다.
0b 를 없애서 출력하고 싶으면 2번을 사용하면 된다.
이건 이번에 처음 알았다.
def solution(n, arr1, arr2):
answer = []
for i,j in zip(arr1,arr2):
a12 = str(bin(i|j)[2:])
a12=a12.rjust(n,'0')
a12=a12.replace('1','#')
a12=a12.replace('0',' ')
answer.append(a12)
return answer
이건 다른사람 풀이
봐라 이렇게 쉬운 문제일 줄 알았다.
1. bin(i|j)[2:]
2. bin(3|4)[2:]
이건 i와 j를 2진수로 바꿔서 비트 OR연산
2번 결과는 111 이 나온다
a12 = '1001'
num = a12.rjust(7, '0')
print(num)
# 결과 : 0001001
그리고 rjust 이건 별 5만개 쳐야된다. 왜냐면 너무 신기하니깐
<문자열>.rjust(<원하는 문자열 길이>, '<(원하는 문자열 - 문자열) 만큼 채울 문자')
zip 쓰는 것도 생각도 못했다.
replace 도 생각 못했다.
멋있다 진짜 나랑 뇌 바꾸자
- JavaScript
function solution(n, arr1, arr2) {
let ar1 = [];
let ar2 = [];
let ar3 = [];
let ar4 = [];
let temp = '';
for (let i = 0; i < arr1.length; i++)
ar1[i] = (parseInt(arr1[i], 10).toString(2)).padStart(n,'0');
for (let i = 0; i < arr2.length; i++)
ar2[i] = (parseInt(arr2[i], 10).toString(2)).padStart(n,'0');
for (let i = 0; i < arr2.length; i++)
ar3[i] = ((parseInt(ar1[i]) + parseInt(ar2[i]))).toString().padStart(n,'0');
let count = 0;
let a = [];
for (i of ar3) {
a[count]= i.toString().split('');
for (let i = 0; i < a[count].length; i++) {
if (a[count][i] === '0')
a[count][i] = " ";
else
a[count][i] = "#";
}
count++;
}
for (let i = 0; i < n; i++) {
for (let j = 0; j < n; j++) {
temp += a[i][j];
}
ar4[i] = temp;
temp = '';
}
return ar4;
}
반응형
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 - JavaScript] Lv.2 튜플 (0) | 2023.02.11 |
---|---|
[프로그래머스 - JavaScript] Lv.2 숫자의 표현 (0) | 2023.02.09 |
[프로그래머스 - Javascript] Lv.1 모의고사 (0) | 2023.02.07 |
[프로그래머스 - Python/JavaScript] Lv.1 폰켓몬 (0) | 2023.02.07 |
[프로그래머스 - Python/JavaScript] Lv.1 숫자 문자열과 영단어 (0) | 2023.02.07 |