# 제일 작은 수 제거하기
# 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요.
# 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요.
# 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
# 내 코드
def solution(arr):
if len(arr) == 1:
return [-1]
else:
array_num = sorted(arr, reverse=True)[-1]
arr.remove(array_num)
return arr
# 다른 사람 코드
def solution(arr):
return [i for i in arr if i > min(arr)]
## 빈 배열일 경우 -1을 리턴하는 부분이 없는 구버전 해설
## for문 돌며 배열에서 제일 작은 수보다 큰 수만 추가
## arr이가 길어질 수록 효율적이지는 않다고 함
# 가운데 글자 가져오기
# 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요.
# 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
# 내 코드
def solution(s):
answer = ""
mid_index = len(s)//2
if len(s) % 2:
answer = s[mid_index]
else:
answer = s[mid_index-1:mid_index+1]
return answer
# 다른 사람 코드
def solution(s):
return s[(len(s)-1)//2 : len(s)//2 + 1]
## a//b = a/b 몫만 반환(소수점 버림)
## 예시 1
## s = 'string', len(s) = 6
## s[(6-1)//2: 6//2 +1] = s[2:4] = 'ri'
## 예시 2
## s = 'catoreo', len(s) = 7
## s[(7-1)//2: 7//2 +1] = s[3:4] = 'o'
# 수박수박수손에불날때까지박수
# 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요.
# 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
# 내 코드
def solution(n):
answer = ''
for i in range(1,n+1):
if i % 2:
answer += '수'
else:
answer += '박'
return answer
# 다른 사람 코드
def solution(n):
str = "수박"*n
return str[:n]
## str을 두배로 만들기 때문에 효율적이지는 않음
초간단 정리