닥터 쥰
긁어모으고. 기록하고. 고민하고.
닥터 쥰
전체 방문자
오늘
어제
  • 분류 전체보기
    • Robot Theory
      • Manipulator Theory
    • Project notes
      • Robot Operating System
      • Arduino
      • CAD program
    • 도전, 코딩테스트
      • Python version
    • Tutorial
    • Hobby Life
      • 짬짬이 독서!
      • 출퇴근 독서!
      • 레고
    • etc.

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 수학
  • python
  • SWEA
  • 로봇
  • speed champions
  • 코딩테스트
  • 라그랑지안
  • Universal robot
  • 동역학
  • 기구학
  • 튜토리얼
  • 로봇 동역학
  • 짬짬이 독서
  • 로봇 제어
  • manipulator
  • 출퇴근 독서
  • control
  • ros
  • robot
  • 독서
  • 매니퓰레이터
  • manipulator robot
  • 출퇴근독서
  • Tutorial
  • 뉴턴 오일러 운동방정식
  • Robot arm
  • theory
  • control theory
  • UR3
  • kinematics

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
닥터 쥰

긁어모으고. 기록하고. 고민하고.

00. 리스트, 반복문, 조건문
도전, 코딩테스트/Python version

00. 리스트, 반복문, 조건문

2022. 9. 18. 23:29

기본 틀을 눈에 익히자

#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
    '도전, 코딩테스트/Python version' 카테고리의 다른 글
    • 리스트 조작 다루기 (리스트 돌려보기, 2-3차원 리스트 다뤄보기)
    • 최빈값 구하기
    • Dictionary (딕셔너리)
    • 01. 수학 문법
    닥터 쥰
    닥터 쥰
    로봇 공학, 개인관심사를 기록하려구요.

    티스토리툴바