본문 바로가기
코테

250402 프로그래머스 파이썬 Lv.0

by 반달링 2025. 4. 2.
Today : 14

등차수열의 특정한 항만 더하기

def solution(a, d, included):
    answer = 0
    for i in range(len(included)):
        answer += (a + d * i) * int(included[i])
    return answer

Boolean으로 표현된 included 리스트는 int로 나타내면 if문 생략 가능하다!

내 답안

def solution(a, d, included):
    answer = 0
    for i in range(len(included)):
        if included[i]:
            answer += a+d*i
    return answer​

그림 확대

def solution(picture, k):
    answer = []
    for i in range(len(picture)):
        for _ in range(k):
            answer.append(picture[i].replace('.', '.' * k).replace('x', 'x' * k))
    return answer

replace를 사용하면 훨씬 간단하게 작성할 수 있다!

내 답안

def solution(picture, k):
    answer = []
    for i in range(len(picture)):
        cnt = 1
        str_i = ''
        for x, y in enumerate(picture[i]):
            if x == len(picture[i])-1:
                str_i += y * cnt * k
                cnt = 1
                break
                
            if y != picture[i][x+1]:
                str_i += y * cnt * k
                cnt = 1

            else:
                cnt += 1
        for j in range(k):
            answer.append(str_i)
    return answer

수 조작하기

def solution(n, control):
    key = dict(zip(['w','s','d','a'], [1,-1,10,-10]))
    return n + sum([key[c] for c in control])
  • zip : 각 요소들을 묶어주는 것으로 같은 index끼리 묶어 튜플 형태로 반환
  • dict : 딕셔너리로, key와 value를 매핑해주는 순서가 없는 집합

내 답안

def solution(n, control):
    return n + control.count("w") - control.count("s") + 10 * control.count("d") - 10 * control.count("a")

'코테' 카테고리의 다른 글

250401 프로그래머스 파이썬 Lv.0  (0) 2025.04.02
250330 프로그래머스 파이썬 Lv.0  (0) 2025.03.31

댓글