프로그래머스(파이썬)/LV.1(파이썬)

    핸드폰 번호 가리기★

    나의 풀이 def solution(phone_number): str ="" for i in range(len(phone_number)-4): str+="*" number=phone_number[-4:] return str+number 다른 사람의 풀이 def solution(s): return "*"*(len(s)-4) + s[-4:] ▶ 문자열 곱하기가 된다는 것에 주의 하자

    서울에서 김서방 찾기→ format() 함수를 이용하자★

    나의 풀이 def solution(seoul): answer = '' location=seoul.index("Kim") print(location) return "김서방은 "+str(location)+"에 있다" 다른 사람의 풀이 def solution(seoul): return "김서방은 {}에 있다".format(seoul.index('Kim')) ▶ format() 메서드를 이용하자

    콜라츠 추측→if-else구문★

    나의 풀이 def solution(num): cnt=0 if num == 1: return 0 for i in range(500): if num % 2 ==0: num=num//2 cnt+=1 if num ==1: return cnt else: num=num*3+1 cnt+=1 if num ==1: return cnt return -1 다른 사람의 풀이 def solution(num): for i in range(500): if num == 1: return 0 num = num / 2 if num % 2 == 0 else num*3 + 1 if num == 1: return i + 1 return -1 ▶ 간결하다 ▶ if-else구문을 이렇게도 쓸 수 있구나

    두 정수 사이의 합 →sum(range(a,b+1))

    나의 풀이 def solution(a, b): answer=[] for i in range(min(a,b), max(a,b)+1): answer.append(i) return sum(answer) 다른 사람의 풀이1 def solution(a, b): if a > b: a, b = b, a return sum(range(a,b+1)) 다른 사람의 풀이2 def solution(a, b): return (abs(a-b)+1)*(a+b)//2 ▶ 등차수열의 합 : n(a+l)/2 ▶ (abs(a-b)+1) : 항의 갯수를 의미한다. ▶ a는 첫번째 항, b는 마지막 항을 의미한다.