a = [4,1,3,2,6,5,8,11] #자연수 List
hol = [] #홀수 list
chack = [] # 짝수 list
result = [] # 최종 결과
for i in a: #홀수와 짝수 구분하기
if i%2 ==0:
chack.append(i)
else:
hol.append(i)
hol.sort() #홀수 오름차순 정렬
chack.sort(reverse=True) #짝수 내림차순 정렬
for i in range(int(len(a)/2)): # 홀수 짝수 합치기.
result.append(hol[i])
result.append(chack[i])
print(result)
파이썬 공부하고 있는 초보자 입니다. 이렇게 풀어봤습니다.
sample_input = "413265"
odd = [int(x) for x in sample_input if int(x)%2==1]
even = [int(x) for x in sample_input if int(x)%2==0]
sample_output=[]
for i in range(3):
sample_output.append(sorted(odd)[i])
sample_output.append(sorted(even, reverse=True)[i])
print(sample_output)
sample_input = [4,1,3,2,6,5] #주어진 값
a = [] #홀수 리스트
b = [] #짝수 리스트
result = [] #결과 리스트
sample_input.sort() #Sample 리스트를 오름차순으로 전체 정렬
for num in sample_input: #홀수와 짝수 나누기
if num %2 != 0: #주어진값이 홀수 일 경우 홀수 리스트 추가
a.append(num)
elif num%2 == 0: #주어진 값이 짝수 일 경우 짝수 리스트 추가
b.append(num)
b.sort(reverse = True) #짝수만 내림차순으로 변경
while a or b : #홀수리스트 또는 짝수 리스트가 없을때까지 반복
mark01 = a.pop(0) #mark01에 홀수 리스트 제일 앞에 있는 값을 추가 후 홀수 리스트에서는 삭제
mark02 = b.pop(0) #mark02에 짝수 리스트 제일 앞에 있는 값을 추가 후 짝수 리스트에서는 삭제
result.append(mark01) #결과 리스트에 mark01 값 추가
result.append(mark02) #결과 리스트에 mark02 값 추가
print(result) #결과 리스트 출력
2021年07月23日 10:15
num_list = [4, 1, 3, 2, 6, 5]
h_list = []
j_list = []
hj_list = []
for i in num_list:
if i % 2 == 0:
j_list.append(i)
else:
h_list.append(i)
h_list.sort()
j_list.sort(reverse=True)
for i in range(3):
hj_list.append(h_list[i])
hj_list.append(j_list[i])
print(hj_list)
Python 3
import itertools
def sort_list(alist: list):
evens = [i for i in alist if i % 2 == 0]
evens.sort(reverse=True)
odds = [i for i in alist if i % 2 == 1]
odds.sort(reverse=False)
if len(evens) != len(odds):
raise ValueError("짝수와 홀수의 개수가 같지 않습니다.")
return list(itertools.chain(*zip(odds, evens)))
if __name__ == '__main__':
args = [4, 1, 3, 2, 6, 5]
print(sort_list(args))
n = input("").split(" ")
evenlist = [ int(x) for x in n if int(x) % 2 == 0]
oddlist = [ int(x) for x in n if int(x) % 2 != 0]
evenlist.sort(reverse= True)
oddlist.sort()
if len(evenlist) == len(oddlist) :
i = 0
while i < len(evenlist):
print(oddlist[i],evenlist[i],end=" ")
i += 1
else :
print("Error")
num_list = range(1,101)
odd_list = []
even_list = []
final_list = []
for i in num_list:
if i % 2 == 0:
even_list.append(i)
elif i % 2 == 1:
odd_list.append(i)
odd_list.sort()
even_list.sort(reverse=True)
for i in range(len(odd_list)):
final_list.append(odd_list[i])
final_list.append(even_list[i])
print(final_list)
풀이 작성
코딩도장은 프로그래밍 문제풀이를 통해서 코딩 실력을 수련(Practice)하는 곳입니다.