Algorithm/programmers/level1/210612/5문제 (with python)
16512 단어 pythonprogrammers알고리즘 문제programmers
2021년 6월 12일
프로그래머스에서 푼 level1 5문제 모음집입니다.
문제 풀이에 대한 설명은 코드에 주석으로 표시하였습니다.
📖문제1 : 두개 뽑아서 더하기
⌨ 코드1 (import combinations)
from itertools import combinations
def solution(numbers):
answer = []
# numbers에서 2개를 뽑는 모든 경우
for i, j in combinations(numbers, 2):
add = i + j
if add not in answer:
answer.append(add)
answer.sort()
return answer
⌨ 코드2
def solution(numbers):
answer = []
for i in range(len(numbers)-1):
for j in range(i+1, len(numbers)):
add = numbers[i] + numbers[j]
if add not in answer:
answer.append(add)
answer.sort()
return answer
📖문제2 : 2016년
⌨ 코드
def solution(a, b):
after = 0
# 각 달에 있는 날짜수를 담은 리스트
days = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
day = ['THU', 'FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED']
# x월이라면 x-1월까지의 날짜수를 더해준다.
for i in range(a-1):
after += days[i]
# y일을 더해준다.
after += b
# 요일을 구한다.
answer = day[after%7]
return answer
📖문제3 : 비밀 지도
⌨ 코드
def solution(n, arr1, arr2):
answer = []
for one, two in zip(arr1, arr2):
num = one | two
# bin()은 맨 앞에 '0b'를 포함하는 문자열을 반환하므로 잘라내기
num = bin(num)[2:]
# 문자열 5글자 채우기
while len(num) < n:
num = '0' + num
tmp = ''
for a in num:
if a == '1':
tmp += '#'
else:
tmp += ' '
answer.append(tmp)
return answer
📖문제4 : 가운데 글자 가져오기
⌨ 코드
ef solution(s):
answer = ''
mid = len(s) // 2
# 글자수가 짝수이면
if len(s) % 2 == 0:
# 가운데 두 글자
answer += s[mid-1] + s[mid]
# 글자수가 홀수이면
else:
# 가운데 한 글자
answer += s[mid]
return answer
⌨ 코드 -> 다른 분의 코드
- len(s)가 홀수이면 (len(s)-1)//2 == len(s)//2인 특성을 이용하셨다.
def string_middle(str):
return str[(len(str)-1)//2:len(str)//2+1]
📖문제5 : 같은 숫자는 싫어
⌨ 코드
def solution(arr):
# 첫 문자는 미리 담아둔다
answer = [arr[0]]
for i in range(1,len(arr)):
# 이전 문자와 현재 문자와 같지 않을 때만 정답 리스트에 문자를 담는다.
if arr[i]!=arr[i-1]:
answer.append(arr[i])
return answer
⌨ 코드 -> 다른 분의 코드
- 내 코드는 arr에서 현재 문자와 이전 문자를 비교했는데
이 분들은 현재 문자는 arr에서, 이전 문자는 정답리스트의 끝(answer[-1])과 비교하는 방식으로 문제를 푸셨다.
def no_continuous(s):
result = []
for c in s:
if (len(result) == 0) or (result[-1] != c):
result.append(c)
return result
Author And Source
이 문제에 관하여(Algorithm/programmers/level1/210612/5문제 (with python)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yellowsummer/Algorithmprogrammerslevel12106125문제저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)