2021년 6월 12일
프로그래머스에서 푼 level1 5문제 모음집입니다.
문제 풀이에 대한 설명은 코드에 주석으로 표시하였습니다.

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 answerdef 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
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


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
ef solution(s):
    answer = ''
    mid = len(s) // 2
    # 글자수가 짝수이면
    if len(s) % 2 == 0:
        # 가운데 두 글자
        answer += s[mid-1] + s[mid]
    # 글자수가 홀수이면
    else:
        # 가운데 한 글자
        answer += s[mid]
    return answerdef string_middle(str):
    return str[(len(str)-1)//2:len(str)//2+1]
def solution(arr):
    # 첫 문자는 미리 담아둔다
    answer = [arr[0]]
    for i in range(1,len(arr)):
        # 이전 문자와 현재 문자와 같지 않을 때만 정답 리스트에 문자를 담는다.
        if arr[i]!=arr[i-1]:
            answer.append(arr[i])
    return answerdef no_continuous(s):
    result = []
    for c in s:
        if (len(result) == 0) or (result[-1] != c):
            result.append(c)
    return result