반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- import itertools
- 유사코드
- 좋은 알고리즘
- LV.1
- 자료구조
- html
- 코딩테스트
- Import
- itertools
- 과일 장수
- list
- 파이썬
- 유한소수 판별하기
- 리스트
- 코딩 테스트
- 큐
- 알고리즘 표현
- 알고리즘의 조건 5가지
- Tree
- 알고리즘
- java
- python
- 들여쓰기로 표현한 트리
- 트리
- 스택
- 자바
- 프로그래머스
- Combination
- 알고리즘의 조건
- 태그
Archives
- Today
- Total
인천의 자유인
[Python] [1차]비밀지도 - 프로그래머스(Lv.1) 본문
728x90
반응형
반응형
나의 문제 풀이
def solution(n, arr1, arr2):
answer = []
for i in range(len(arr1)):
string = ''
number1,number2 = '',''
num1,num2 = arr1[i], arr2[i]
for j in range(n):
number1 += str(num1%2)
number2 += str(num2%2)
num1 = num1//2
num2 = num2//2
for z in range(len(number2)):
if number1[z] == '1'or number2[z] == '1':
string += '#'
continue
string+=' '
answer.append(''.join(reversed(string)))
return answer
먼저 결과값을 출력할 변수 answer의 빈 리스트를 만듭니다.
그리고 for문을 실행하는데 결과값의 요소(#이 들어가는 문자열)를 만들 string을 선언합니다. 또한 이진수를 표현할 number1, number2를 생성하고 각각 arr1,arr2의 요소들을 선언합니다. 그 이후로는 number1, number2에 num1, num2의 나머지를 추가해 이진수를 더합니다. number1, number2의 이진 숫자가 하나라도 1이라면 #을 하고 아니면 공백을 추가함으로서 answer이라는 리스트에 추가합니다.
여기서 왜 ''.join(reversed(string)으로 추가했냐면 그냥 하게되면 거꾸로 출력이 되기 때문입니다. 이진수로 변환할 때 거꾸로 출력이 되면 이렇게 원래 모양으로 만듭니다.
이런씩으로 answer 리스트에 추가하게 되면 우리가 원하는 출력 값을 얻을 수 있습니다.
728x90
반응형
'Python > Python코딩테스트' 카테고리의 다른 글
[Python] 콜라 문제 - 프로그래머스(Lv.1) (0) | 2024.06.25 |
---|---|
[Python] 푸드 파이트 대회 - 프로그래머스(Lv.1) (2) | 2024.06.22 |
[Python] 문자열 내 마음대로 정렬하기 - 프로그래머스(Lv.1) (0) | 2024.06.14 |
[Python] 두 개 뽑아서 더하기 - 프로그래머스(Lv.1) (0) | 2024.06.10 |
[Python] 숫자 문자열과 영단어 - 프로그래머스(Lv.1) (0) | 2024.06.05 |