프로그래머스(파이썬)

    암호해독★ - 인덱스 + step(점프)

    나의 풀이 def solution(cipher, code): answer = '' for i in range(code-1, len(cipher), code): answer+=cipher[i] return answer 다른 사람의 풀이 def solution(cipher, code): answer = cipher[code-1::code] return answer ▶ 문자열도 슬라이싱이 가능하다는 사실 ▶ cipher[code-1: :code] → 끝까지 슬라이싱 하되, code만큼 점프한다.

    369게임 - lambda★

    나의 풀이 def solution(order): cnt=0 for i in str(order): if i in [ '3', '6', '9']: cnt+=1 return cnt 다른 사람의 풀이 def solution(order): return sum(map(lambda x: str(order).count(str(x)), [3, 6, 9])) ▶ 뭔말인지 해석불가

    가까운 수 → "특이한 정렬"과 매우 유사

    나의 풀이 def solution(array, n): a=[] answer=[] for i in array: tmp= abs(i-n) a.append([tmp, i]) print(a) sorted_a = sorted(a, key=lambda x: (x[0], x[1])) for i in sorted_a: answer.append(i[1]) return answer[0] ▶ tmp, i 를 리스트로 해서 리스트를 통째로 집어 넣음 ▶ tmp(차)를 오름 차순으로 정렬하되, tmp가 동일한 값인 경우 i를 오름차순으로 정렬 다른 사람의 풀이 def solution(array, n): array.sort(key = lambda x : (abs(x-n), x-n)) print(array) answer = arr..

    삼각형의 완성조건(1)

    나의 풀이 def solution(sides): sides.sort() big = sides[-1] sides.pop() total = sum(sides) if big < total: return 1 else: return 2 ▶ 개꿀팁 : 오름차순으로 정렬한 다음에 마지막 값을 선택하면 max값을 선택하게 된다. 다른 사람의 풀이 def solution(sides): return 1 if max(sides) < (sum(sides) - max(sides)) else 2