s
: 길이가 1 이상, 100이하인 string
def solution(s):
if len(s) % 2 != 0: #홀
return s[(len(s) // 2)]
else: #짝
return s[len(s) // 2 - 1:len(s) // 2 + 1]
def solution(s):
answer = s[(len(s)//2)] if len(s)%2 !=0 else s[len(s)//2 - 1:len(s)//2+1]
return answer
끝
이걸 과연 풀이라고 할 수 있는가..?
n
: 1 이상 100,000,000 이하인 자연수
def solution(n):
answer = ''
#3진법 변환 & 뒤집기
while n>0:
n, m = divmod(n,3)
answer+= str(m)
#10진법 변환
answer= int(answer, 3)
return answer
배열 arr의 크기
: 1이상 1,000,000 이하의 자연수
배열 arr의 원소의 크기
: 0이상 9이하의 정수
def solution(arr):
answer = []
for i in range(len(arr)):
if i==0:
answer.append(arr[i])
elif arr[i-1]==arr[i]:
pass
else:
answer.append(arr[i])
return answer
if/elif/else가 거슬려서 코드 수정.
다음 두 경우에 대해,
1. i==0, 즉 len(answer) = 0
2. answer의 마지막 원소(가장 최근에 추가된 원소)와 다른 원소가 등장
answer에 추가
def solution(arr):
answer = []
for a in arr:
if len(answer)==0 or a!=answer[-1]:
answer.append(a)
return answer
arr
: 자연수를 담은 길이가 1 이상인 배열
divisor
: 자연수
def solution(arr, divisor):
answer = []
for a in arr:
if a%divisor==0:
answer.append(a)
return sorted(answer) if len(answer)!=0 else [-1]