배열을 정렬하는 방법에 대해 배우게 됩니다.
리스트.sort() # 오름차순
리스트.sort(reverse=True) # 내림차순
리스트 = 리스트[::-1] # 오름차순 정렬 후 내림차순으로 뒤집기 (슬라이싱)
arr = [0, 5, 6, 2, 1, 3]
arr1 = sorted(arr)
print(arr) # [0, 5, 6, 2, 1, 3]
print(arr1) # [0, 1, 2, 3, 5, 6]
리스트.sort()
리스트 = list(reversed(리스트)) # reversed array
n = int(input())
nums = list(map(int, input().split()))
print(*sorted(nums))
print(*sorted(nums)[::-1])
n = int(input())
nums = list(map(int, input().split()))
nums.sort()
print(*nums)
nums.sort(reverse=True) # nums = nums[::-1]
print(*nums)
s = "babo"
# 문자열을 리스트로 변환
arr = list(s)
arr.sort()
print(arr) # ['a', 'b', 'b', 'o']
# 리스트를 문자열로 변환
sorted_str = ''.join(arr)
print(sorted_str) # abbo
s = "babo"
sorted_arr = sorted(s)
print(sorted_arr) # ['a', 'b', 'b', 'o']
sorted_str = ''.join(sorted_arr)
print(sorted_str)
print(''.join(sorted(input())))
arr = list(input())
arr.sort()
print(''.join(arr))
n = int(input())
ls = [input() for _ in range(n)]
ls.sort()
for i in ls:
print(i, end='\n')
n, k = map(int, input().split())
ls = list(map(int, input().split()))
ls.sort()
print(ls[k - 1])
n = int(input())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
A.sort()
B.sort()
if A == B:
print("Yes")
else:
print("No")
원소가 하나라도 다르면 False, 전부 일치하면 True를 반환하는 함수를 작성하여 사용하면 수행 시간을 단축할 수 있다.
n = int(input())
ls = list(map(int, input().split()))
ls.sort()
MAX = 0
for i in range(n):
MAX = max(MAX, ls[i] + ls[-1-i])
print(MAX)
i번째 원소와 (2n - 1 - i)번째 원소를 매칭하는 것으로 바꿀 수 있다.
A = list(input())
B = list(input())
A.sort()
B.sort()
A = ''.join(A)
B = ''.join(B)
if A == B:
print("Yes")
else:
print("No")
sorted()로 한줄 코딩을 할 수 있다.
A = input()
B = input()
print("Yes" if sorted(A) == sorted(B) else "No")
n, k, T = input().split()
n = int(n)
k = int(k)
ls = []
for _ in range(n):
s = input()
if s[:len(T)] == T:
ls.append(s)
ls.sort()
print(ls[k - 1])
T로 시작하는지 확인할 때 T가 입력보다 긴 경우, 다음으로 바로 넘어갈 수 있도록 함수를 작성하면 수행 시간을 단축할 수 있다.
# a가 b로 시작하는지 확인
def starts_with(a, b):
# b의 길이가 더 길 수 없다.
if len(a) < len(b):
return False
# b의 길이까지 봤을 때 a와 문자열이 동일한지 확인
return a[:len(b)] == b
n = int(input())
nums = list(map(int, input().split()))
ls = []
for i in range(n):
ls.append(nums[i])
ls.sort()
if i % 2 == 0:
print(ls[i//2], end=' ')
sorted()와 슬라이싱을 통해 리스트를 새로 만들 필요 없이 정렬을 진행할 수 있다.
sorted_nums = sorted(nums[:i + 1])