Computer Science/Algorithms (4) 썸네일형 리스트형 [python] 프로그래머스 :: 서울에서 김서방 찾기 나의 풀이 def solution(seoul): return "김서방은 "+ str(seoul.index('Kim')) + "에 있다" solution(["Jane","Kim"]) 리스트에서 해당 요소의 인덱스 구하기 : 리스트.index(찾고자 하는 요소) 다른 사람들의 풀이를 보니, for문으로 하나씩 찾는 경우가 많았는데 index() 함수만 알면 쉽게 풀 수 있는 문제이다! 모범 답안 (나의 풀이와 비슷) def findKim(seoul): return "김서방은 {}에 있다".format(seoul.index('Kim')) print(findKim(["Queen", "Tod", "Kim"])) {} 그리고 .format()을 사용해 비슷하게 풀었다. [python] 프로그래머스 - 수박수박수박수박수박수? 나의 풀이 def solution(n): if n%2 != 0: # 홀수 return "수박"*(n//2)+"수" else: #짝수 return "수박"* (n//2) solution(5) # 수박수박수 홀수인 경우, 짝수인 경우 나누어했다. 모범 답안 def water_melon(n): s = "수박" * n return s[:n] print("n이 3인 경우: " + water_melon(3)); # 수박수 print("n이 4인 경우: " + water_melon(4)); # 수박수박수 파이썬의 강력한 기능인 인덱싱 기능을 잘 활용한 풀이인 것 같다! [python] 프로그래머스 - 약수의 합 (효율적으로 풀기) 나의 풀이 def solution(n): answer = 0 for i in range(1,n+1): if n%i == 0: answer += i return answer solution(12) #28 모범 답안 1 def sumDivisor(n): return sum([i for i in range(1,n+1) if n%i==0]) 나와 같은 풀이인데, sum() 와 list comprehension으로 한 줄로 표현한게 멋지다. 모범 답안 2 def sumDivisor(n): return n + sum([i for i in range(1, (n // 2) + 1) if n % i == 0]) 위 풀이는 정말 흥미로운 풀이인 것 같다. 전부 다 나누어 확인하는 것이 아닌 num / 2 의 수들만 검사하.. [python] 프로그래머스 - 시저 암호 (두 가지 풀이방법) 나의 풀이 : 문자열 인덱싱 사용 def solution(s, n): low = "abcdefghijklmnopqrstuvwxyz" # 소문자. 인덱스는 0에서 25 up = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" answer = '' for char in s: if char in low: ind = low.find(char)+n # low 문자열에서 찾은 해당 알파벳 인덱스 + n answer += low[ind%26] # 26으로 나눈 나머지를 사용할 경우 25를 초과하는 경우도 활용 가능 elif char in up: ind = up.find(char)+n answer += up[ind%26] else: # 공백일 경우도 고려 answer += " " return answer solut.. 이전 1 다음