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 |
댓글