Skip to content

Commit 6461829

Browse files
committed
Update
1 parent 158ef58 commit 6461829

File tree

10 files changed

+75
-75
lines changed

10 files changed

+75
-75
lines changed

Diff for: 6/10.py

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# N 입력 받기
2+
n = int(input())
3+
4+
# N개의 정수를 입력 받아 리스트에 저장
5+
array = []
6+
for i in range(n):
7+
array.append(int(input()))
8+
9+
# 파이썬 정렬 라이브러리를 이용하여 정렬 수행
10+
array = sorted(array, reverse=True)
11+
12+
# 정렬이 수행된 결과를 출력
13+
for i in array:
14+
print(i, end=' ')

Diff for: 6/8.py renamed to 6/11.py

File renamed without changes.

Diff for: 6/12.py

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# N 입력 받기
2+
n = int(input())
3+
4+
count = [0] * 10001
5+
result = -1 # 가장 많이 가지고 있는 신발 번호
6+
max_value = 0 # 가장 많이 가지고 있는 신발 번호의 신발 개수
7+
8+
for i in range(n):
9+
a = int(input())
10+
count[a] += 1
11+
if max_value < count[a]:
12+
max_value = count[a]
13+
result = a # 가장 많이 가지고 있는 신발 번호 기록
14+
15+
print(result)

Diff for: 6/2.py

-10
This file was deleted.

Diff for: 6/3.py

+7-22
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,10 @@
1-
array = [5, 7, 9, 0, 3, 1, 6, 2, 4, 8]
1+
array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]
22

3-
def quick_sort(array, start, end):
4-
if start >= end: # 원소가 1개인 경우 종료
5-
return
6-
pivot = start # 피벗은 첫 번째 원소
7-
left = start + 1
8-
right = end
9-
while(left <= right):
10-
# 피벗보다 큰 데이터를 찾을 때까지 반복
11-
while(left <= end and array[left] <= array[pivot]):
12-
left += 1
13-
# 피벗보다 작은 데이터를 찾을 때까지 반복
14-
while(right > start and array[right] >= array[pivot]):
15-
right -= 1
16-
if(left > right): # 엇갈렸다면 작은 데이터와 피벗을 교체
17-
array[right], array[pivot] = array[pivot], array[right]
18-
else: # 엇갈리지 않았다면 작은 데이터와 큰 데이터를 교체
19-
array[left], array[right] = array[right], array[left]
20-
# 분할 이후 왼쪽 부분과 오른쪽 부분에서 각각 정렬 수행
21-
quick_sort(array, start, right - 1)
22-
quick_sort(array, right + 1, end)
3+
for i in range(1, len(array)):
4+
for j in range(i, 0, -1): # 인덱스 i부터 1까지 1씩 감소하며 반복하는 문법
5+
if array[j] < array[j - 1]: # 한 칸씩 왼쪽으로 이동
6+
array[j], array[j - 1] = array[j - 1], array[j]
7+
else: # 자기보다 작은 데이터를 만나면 그 위치에서 멈춤
8+
break
239

24-
quick_sort(array, 0, len(array) - 1)
2510
print(array)

Diff for: 6/4.py

+23-9
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,25 @@
1-
# 모든 원소의 값이 0보다 크거나 같다고 가정
2-
array = [7, 5, 9, 0, 3, 1, 6, 2, 9, 1, 4, 8, 0, 5, 2]
3-
# 모든 범위를 포함하는 리스트 선언 (모든 값은 0으로 초기화)
4-
count = [0] * (max(array) + 1)
1+
array = [5, 7, 9, 0, 3, 1, 6, 2, 4, 8]
52

6-
for i in range(len(array)):
7-
count[array[i]] += 1 # 각 데이터에 해당하는 인덱스의 값 증가
3+
def quick_sort(array, start, end):
4+
if start >= end: # 원소가 1개인 경우 종료
5+
return
6+
pivot = start # 피벗은 첫 번째 원소
7+
left = start + 1
8+
right = end
9+
while(left <= right):
10+
# 피벗보다 큰 데이터를 찾을 때까지 반복
11+
while(left <= end and array[left] <= array[pivot]):
12+
left += 1
13+
# 피벗보다 작은 데이터를 찾을 때까지 반복
14+
while(right > start and array[right] >= array[pivot]):
15+
right -= 1
16+
if(left > right): # 엇갈렸다면 작은 데이터와 피벗을 교체
17+
array[right], array[pivot] = array[pivot], array[right]
18+
else: # 엇갈리지 않았다면 작은 데이터와 큰 데이터를 교체
19+
array[left], array[right] = array[right], array[left]
20+
# 분할 이후 왼쪽 부분과 오른쪽 부분에서 각각 정렬 수행
21+
quick_sort(array, start, right - 1)
22+
quick_sort(array, right + 1, end)
823

9-
for i in range(len(count)): # 리스트에 기록된 정렬 정보 확인
10-
for j in range(count[i]):
11-
print(i, end=' ') # 띄어쓰기를 구분으로 등장한 횟수만큼 인덱스 출력
24+
quick_sort(array, 0, len(array) - 1)
25+
print(array)

Diff for: 6/5.py

-4
This file was deleted.

Diff for: 6/6.py

+9-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
array = [('바나나', 2), ('사과', 5), ('당근', 3)]
1+
# 모든 원소의 값이 0보다 크거나 같다고 가정
2+
array = [7, 5, 9, 0, 3, 1, 6, 2, 9, 1, 4, 8, 0, 5, 2]
3+
# 모든 범위를 포함하는 리스트 선언 (모든 값은 0으로 초기화)
4+
count = [0] * (max(array) + 1)
25

3-
def setting(data):
4-
return data[1]
6+
for i in range(len(array)):
7+
count[array[i]] += 1 # 각 데이터에 해당하는 인덱스의 값 증가
58

6-
result = sorted(array, key=setting)
7-
print(result)
9+
for i in range(len(count)): # 리스트에 기록된 정렬 정보 확인
10+
for j in range(count[i]):
11+
print(i, end=' ') # 띄어쓰기를 구분으로 등장한 횟수만큼 인덱스 출력

Diff for: 6/7.py

+3-13
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,4 @@
1-
# N 입력 받기
2-
n = int(input())
1+
array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]
32

4-
# N개의 정수를 입력 받아 리스트에 저장
5-
array = []
6-
for i in range(n):
7-
array.append(int(input()))
8-
9-
# 파이썬 정렬 라이브러리를 이용하여 정렬 수행
10-
array = sorted(array, reverse=True)
11-
12-
# 정렬이 수행된 결과를 출력
13-
for i in array:
14-
print(i, end=' ')
3+
result = sorted(array)
4+
print(result)

Diff for: 6/9.py

+4-12
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,7 @@
1-
# N 입력 받기
2-
n = int(input())
1+
array = [('바나나', 2), ('사과', 5), ('당근', 3)]
32

4-
count = [0] * 10001
5-
result = -1 # 가장 많이 가지고 있는 신발 번호
6-
max_value = 0 # 가장 많이 가지고 있는 신발 번호의 신발 개수
7-
8-
for i in range(n):
9-
a = int(input())
10-
count[a] += 1
11-
if max_value < count[a]:
12-
max_value = count[a]
13-
result = a # 가장 많이 가지고 있는 신발 번호 기록
3+
def setting(data):
4+
return data[1]
145

6+
result = sorted(array, key=setting)
157
print(result)

0 commit comments

Comments
 (0)