공백, 콤마 등으로 구분하고 싶으면 end = ' ' 나 end = ',' 처럼 문자열을 지정해준다.
, 대신 +를 쓰면 문자끼리는 공백없이 이어져서 출력되고 , 숫자끼리는 합산된다.
>>>var_char = "A"
>>>var_num = 1
>>>var_num2 = 2
>>>print('This is string :' + var_char, 'This is number :', var_num+var_num2)
This is string :A This is number : 3
여러 항목 출력1
print('{0} and {1}'.format('spam', 'eggs'))
print('{1} and {0}'.format('spam', 'eggs'))
num1=1;num2=2
print('{0} {1}'.format(num1,num2))
.format 사용하여 값을 여러 개 주고, 중괄호로 읽어온다
여러 항목 출력2
print('Text %s'%var_char)
print('Number %d'%var_num)
print('This is text %s This is number %d'%(var_char,num1))
#괄호로 묶어서 출력해준다
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
출력
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
입력
5 5 2 3 4 1
출력
1 2 3 4 5
알고리즘
메모리 : 29440KB
시간 : 172ms
언어 : python 3
코드 길이 302B
n = int(input())
array = list()
for _ in range(n):
array.append(int(input()))
for i in range(n):
lowest = i
for j in range(i+1, n):
if array[lowest] > array[j]:
lowest = j
array[i], array[lowest] = array[lowest], array[i]
for i in array:
print(i)
해당 인덱스(key 값) 앞에 있는 데이터(B)부터 비교해서 key 값이 더 작으면, B값을 뒤 인덱스로 복사
이를 key 값이 더 큰 데이터를 만날때까지 반복, 그리고 큰 데이터를 만난 위치 바로 뒤에 key 값을 이동
2. 패턴 찾기
처음은 항상 인덱스(0)+1 에서 시작
data_list = [9, 3, 2, 5]
1회 : key 값 (9) , 인덱스(0) -1 보다 작으므로 => [9,3,2,5]
2회 : key 값 (3) , key -1 값(9) 이 3보다 작으므로 => [3,9,2,5]
3회 : key 값(2) , key -1 값(9) 보다 작고 -> key -2 값(2) 이 더 작으므로 => [2,3,9,5]
4회 : key 값(5), 9보다 작고, 3보다 크므로 => [2,3,5,9]
1. for stand in range(len(data_list)) 로 반복 2. key = data_list[stand] 3. for num in range(stand, 0, -1) 반복 - 내부 반복문 안에서 data_list[stand] < data_list[num - 1] 이면, - data_list[num - 1], data_list[num] = data_list[num], data_list[num - 1]
3. 알고리즘
def insertion_sort(data):
for index in range(len(data) - 1):
for index2 in range(index + 1, 0, -1):
if data[index2] < data[index2 - 1]:
data[index2], data[index2 - 1] = data[index2 - 1], data[index2]
else:
break
return data