if 문
money = 1000
if money >= 3000:
print("돈없다")
elif money <=100:
print("졸려")
else:
print("뭐")
while 문
초기식
while 조건식:
반복할 코드
변화식
num = 1
while num < 5 :
print(num)
num = num + 1
else : print("5이상이면 종료합니다.")
for문
for 카운터변수 in range(반복횟수):
반복해서 실행할 명령
range -> range(10):0,1,2,3,4,5,6,7,8,9
빠른 입력
input 은 느리다 -> sys 라이브러리의 readline()함수를 써야한다.
sys 쓸떄는 한줄 입력받고 rstrip함수를 호출해야한다
-> readline() 으로 입력받고나면 엔터가 줄바꿈기호로 입력된다 이거 없애려고 rstrip 함수 호출해주는거다.
import sys
//정수하나 입력
a = int(sys.stdin.readline().rstrip())
//map 으로 여러개 int 처리해서 한번에 받기
a,b,c = map(int, sys.stdin.readline().rstrip().split())
//리스트로 담기
list = list(map(int, sys.stdin.readline().rstrip().split()))
//공백 기준으로 분리된 여러 정수를 n번 입력 받아, 2차원 리스트에 저장하기
n = int(sys.stdin.readline().rstrip())
data = [list(map(int, sys.stdin.readline().rstrip().split())) for _ in range(n)]
# [[1, 2, 3], [4, 5, 6]]
-List
리스트 초기화
//어떤 원소로 크기가 정해진 리스트 만들기
n = 0
myList = [0] * n
#결과: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
//뒤에서 첫번쨰 출력
myList[-1]
#뒤쪽 시작 색인은 -1임
//슬라이싱
myList[1:4]
#색인1~3까지 나옴 -> (원소 새개짜리 리스트 나옴) 앞쪽 포함 뒷쪽 미포함
//다양한 리스트 초기화 방법
# 1.for 문돌면서 0~9 까지 리스트 만들기
myList = [i for i in range(10)]
# 2.for문과 조건문까지 추가
myList = [i for i in range(20) if i % 2 == 1]
# 3.for 문과 i 의 연산
myList = [i * i for i in range(1,11)]
//N*M 크기의 리스트 초기화
myList = [[0] * m for _ in range(n)]
이거 [0,0,0,0 -> 크기가 M] N개 만든 리스트 만드는거임
#array = [[0] * m] * n 요거쓰면 안됨 주소값 같은 리스트들 만드는거임
리스트 함수들
//리스트 요소 찾기
index() 함수에 리스트의 없는값을 찾으면 value error 나니 그런거 이방식으로 찾으면 안된다
in을 사용하면됨
찾을꺼 in 리스트
ex) 12 in [12,90,37,44]
-> True
//요소 삭제
remove 함수 쓰면되는데 이거 없는거 찍으면 value error 남
ex)myList = [13,23,43,56]
myList.remove(11) -> 벨류 에러남
모든 요소 삭제하고싶다면 갯수 새는 함수 count() 함수로 갯수세고 for문 돌려서 없애준다
-dictionary
초기화
//그냥 초기화
myDic = {}
//정보갖고 초기화
myDic = {
key:value,
key:value
}
//zip()을 이용해서 key값 리스트와 value리스트 두개로 딕셔너리 만들기
list1 = ['Korea', 'Japan']
list2 = ['Seoul', 'Tokyo']
my_dict = dict(zip(list1, list2))
//튜플이 원자인 리스트로 딕셔너리 초기화
list1 = [('Korea', 'Seoul'), ('Japan', 'Tokyo')]
my_dict = dict(list1)
딕셔너리 함수들
//값에 접근
myDic["key"]
-> value 나옴
//값 추가,변경
myDic["key"] = value
//두 딕셔너리 합치기
#update(함수 사용)
d1 = {"a":1, "b":2}
d2 = {"b":1, "d":2}
d1.update(d2)
[결과] d1 값이 이렇게 됨 -> {'a': 1, 'b': 1, 'd': 2}
//key값만 찾기
myDic.keys()
리스트로 키값만줌
//value만 얻기
myDic.values()
리스트로 value값들만줌
//튜플로 값들묶어서 내보내기 (리스트로 반환)
myDic.items()
//삭제:
del myDic ["key"]
#키값으로 삭제
//모두 날려버리기
myDic.clear()
//key값이 있는지 확인
"key" in myDic
True,False 로 결과값 나옴
추가 입력 출력 및 기타 문법 참고 링크
https://dosimpact.tistory.com/47
'알고리즘' 카테고리의 다른 글
파이썬 자료구조 컨닝페이퍼 (0) | 2022.10.03 |
---|---|
시간복잡도에 대해서 알고가자 크흐흡 (0) | 2022.10.02 |
백트래킹 개념정리 (0) | 2022.04.11 |
브루트포스 개념정리 (0) | 2022.04.01 |
나중에 다시볼 알고리즘 백준 11653 소인수분해 (0) | 2021.07.25 |