기본 틀을 눈에 익히자
#import sys
T = int(input())
for test_case in range(1, T+1):
'''
코딩 시작!
'''
사용자 입력 받아오기
num = input() # 사용자의 입력을 변수에 저장
num = int(input()) # 사용자의 입력을 int로 형변환해서 변수에 저장
num = list(input()) # 사용자의 입력을 문자 하나하나 list 요소에 저장, ex) 'ab cd' -> ['a', 'b', ' ', 'c', 'd']
num = list(map(int, input())) # 사용자의 입력을 int로 형변환해서 list에 저장
num = list(map(int, input().split())) # 사용자의 입력을 ' '을 기준으로 분해하고 int로 형변환해서 list에 저장
##### sys.stdin.readline() 함수
##### python 기본 input()함수는 느림. 시간 초과가 걱정될 때 사용
import sys
data = sys.stdin.readline().rstrip() # rstrip()은 공백 제거용 함수
print(data)
# Hello World (Enter키)
# Hello World
list 문법
인덱싱(indexing)
arr = [4, 5, 6, 7, 8, 9]
arr[0] # 4
arr[-1] # 9
슬라이싱(Slicing)
arr = [4, 5, 6, 7, 8, 9]
arr[1:3] #[5, 6]
arr[:3] #[4, 5, 6]
arr[1:] #[5, 6, 7, 8, 9]
arr[:] #[4, 5, 6, 7, 8, 9]
★ 리스트 1차원 배열 초기화, 2차원 배열 초기화 및 받아오기
#1차원 배열 초기화
home = [0] * 10
print(home)
>>>> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
#2차원 배열 초기화
home = []
for ii in range(10):
home.append([0]*3)
print(home)
>>>> [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
#2차원 배열로 입력 받아오기
row, col = map(int, input().split())
list = []
for ii in range(row):
list.append(list(map(int, input().split()))
print(list)
>>>>[[0, 0, 0, 1], [0, 0, 0, 0], [0, 0, 0, 1]]
# list.append 하는 부분을 한 줄로 줄이기
>>>> list = [list(map(int, input().split())) for _ in range(n)]
리스트 응용 함수
함수명 | 사용법 | 설명 | 시간 복잡도 |
append() | num.append() | 리스트에 원소를 하나 삽입한다. | $O(1)$ |
sort() | num.sort() | 오름차순으로 정렬한다. | $O(NlogN)$ |
num.sort(reverse=True) | 내림차순으로 정렬한다. | ||
reverse() | num.reverse() | 리스트의 원소의 순서를 모두 뒤집어 놓는다. | $O(N)$ |
insert() | num.insert($위치인덱스$, $삽입할 값$) | 특정한 인덱스 위치에 원소를 삽입할 때 사용한다. | $O(N)$ |
count() | num.count($특정한 값$) | 리스트에서 특정한 값을 가지는 데이터의 개수를 셀 때 사용한다. | $O(N)$ |
remove() | num.remove($특정한 값$) | 특정한 값을 갖는 원소를 제거하는데, 값을 가진 원소가 여러개면 하나만 제거한다. | $O(N)$ |
pop() | num.pop() or num.pop($x번째 요소$) | pop(): 리스트의 맨 마지막 요소를 return하고 그 요소는 삭제한다. pop(x): x번째 리스트의 요소를 return하고 그 요소는 삭제한다. |
A = []
for ii in range(num):
A.append(int(input()))
# 사용자의 입력 및 list 상태
2
[2]
10
[2, 10]
7
[2, 10 ,7]
a = [1,2,3]
a.pop() # return 3, a = [1, 2]
a.pop(1) # return 2, a = [1]
List 문법 오답노트
#int형 list하나로 합치기
>>> nums = [2, 3, 1, 2, 3, 1, 3, 2, 1]
>>> print(nums)
[2, 3, 1, 2, 3, 1, 3, 2, 1]
>>> b_num = "".join(map(str,nums))
>>> print(b_num) #''.join(map(str, list))
231231321
>>> c_num = str("".join(nums))
231231321
>>> d_num = [str("".join(nums))]
[231231321]
#list중 찾고자 하는 항목이 몇 개인지 확인하는 함수
>>> find = input()
ti
>>> compare = input()
Starteatingwellwiththeseeighttipsforhealthyeating,whichcoverthebasicsofahealthydietandgoodnutrition.
>>> ans = compare.count(find) #list.count('찾고자하는 항목')
>>> print(ans)
4
#list내 여러개의 원소 중에 최대 최소 구분하는 법
>>> A = list(map(int, input().split()))
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
>>> max(A[0:2])
2
>>> min(A[0:2])
1
반복문
for문
result = 0
for ii in range(1, 10):
retult += ii
print(result) # 45
########
num = [1, 2, 3, 4]
result = 0
for ii in range(len(num)): # ii는 0부터 3(num의 크기 - 1)까지 증가함.
result += num[ii]
print("#{0} {1}".format(ii, result)) # #3 10
########
num = [1, 2, 3, 4]
result = 0
for ii in range(1, len(num)-1): ## ii는 1부터 2까지 증가함.
result += num[ii]
print("#{0} {1}".format(ii, result)) # #2 5
while문
ii = 0
result = 0
#ii가 9보다 작거나 같을 때 아래 코드를 반복함
while ii <= 9:
result += ii
i += 1
print(result) # 45
변수 출력하기
a = "123"
b = "456"
print("#{0} {1}".format(a, b))
# #123 456
answer = 7
print("정답은 " + str(answer) + "입니다.")
# 정답은 7입니다.
문자열 자료형
'도전, 코딩테스트 > Python version' 카테고리의 다른 글
리스트 조작 다루기 (리스트 돌려보기, 2-3차원 리스트 다뤄보기) (0) | 2022.11.23 |
---|---|
최빈값 구하기 (0) | 2022.10.03 |
Dictionary (딕셔너리) (1) | 2022.09.21 |
01. 수학 문법 (2) | 2022.08.23 |