알고리즘/programmers
[ 프로그래머스 / 파이썬 ] 프로그래머스 LEVEL 1 풀이
jungeun960
2021. 3. 2. 18:46
프로그래머스
# 가운데 글자 가져오기
def solution(s):
answer = ''
if len(s)%2 == 1:
answer = s[len(s)//2]
else:
answer = s[len(s)//2-1 : len(s)//2+1 ]
return answer
# 같은 숫자는 싫어
def solution(arr):
answer = [arr[0]]
for i in range(1,len(arr)):
if answer[-1] != arr[i]:
answer.append(arr[i])
return answer
# 수박수박수박수박수박수?
def solution(n):
answer = ''
for i in range(1,n+1):
if i%2 != 0:
answer+="수"
else:
answer+="박"
return answer
+ (GOOD) 다른 사람 풀이
def solution(n):
return "수박"*(n//2) + "수"*(n%2)
# 문자열 내 마음대로 정렬하기
- Point. 문자열 정렬
- 처음 접근 방법 -> sorted(strings, key=lambda x:x[n]) -> n번째 숫자가 같은 경우 사전순 정렬 안됨
- 사전순 정렬을 해주고 n번째 기준으로 정렬해주면됨
def solution(strings, n):
return sorted(sorted(strings), key=lambda x:x[n])
+ (GOOD) 다른 사람 풀이 미.쳤.다.
- n번째 수를 글자의 앞에 붙인다음, 정렬함
def solution(strings, n):
answer = []
for i in range(len(strings)):
strings[i] = strings[i][n] + strings[i]
strings.sort()
for j in range(len(strings)):
answer.append(strings[j][1:])
return answer
반응형