Python(14)
-
[Python] 파이썬을 통해 구현한 DFS와 BFS
DFS (Depth-First Search) 깊이 우선 탐색이라고도 부르며, 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘 스택(Stack) 자료구조를 이용하여 구현 동작과정 탐색 시작 노드를 스택에 삽입하고 방문 처리한다. 스택의 최상단 노드에 방문하지 않은 인접 노드가 있으면 그 인접 노드를 스택에 넣고 방문 처리한다. 방문하지 않은 인접 노드가 없으면 스택에서 최상단 노드를 꺼낸다. 2번의 과정을 더 이상 수행할 수 없을 때까지 반복한다. 소스코드 # DFS # 방문 정보를 리스트 자료형으로 표현 visited =[False] * 9 # 각 노드가 연결된 정보를 리스트 자료형으로 표현 (2차원 리스트) graph = [ [], # 1번 노드와 연결된 노드들 [2, 3, 8], # 2번 노드와 ..
2022.05.14 -
[Python] ord()와 chr() 함수
ord() 매개변수로 문자를 넘겨주면, 해당 문자의 유니코드 정수값을 리턴해준다. char = 'A' print(ord(char)) # 65 chr() 매개변수로 정수를 넘겨주면, 해당 정수의 유니코드 문자를 리턴해준다. num = 65 print(chr(num)) # 'A'
2022.04.10 -
[Python] 문자열 출력 방식
C 스타일 문자열 출력 문자열은 %s 정수는 %d 실수는 %f, 실수는 출력할 소수점 개수를 명시 가능 name = "Choi" home = "Daegu" print("My name is %s and I am from %s." % (name, home)) # My name is Choi and I am from Daegu 실수 소수점 개수 조정은 다음과 같이 할 수 있다. print("%.2f" % 0.1234) # 소수점 3번째에서 반올림하여 2번째 자리까지만 출력 f - 문자열 출력 Python 3.6부터 도입된 방법으로, 문자열 앞에 f로 시작하며 { }로 변수를 감싸서 표현한다. name = "Choi" home = "Daegu" print(f"My name is {name} and I am fr..
2022.03.17 -
[Python] iter(), next(), enumerate()
iterable 반복 가능한 타입의 객체를 의미한다. List, Tuple, Dictionary, Set, String, Bytes, Range 등의 순회가 가능하다. Iterable 객체를 판별하기 위해선, collections.Iterable에 속한 객체(Instance)인지 확인하면 된다. isinstance() 함수를 통해 확인이 가능하다. import collections list = [1, 3, 5, 7, 9] print(isinstance(list, collections.Iterable)) # True A = 300 # int print(isinstace(A, collections.Iterable)) # False iterable한 타입은 단순히 for 문으로도 순회가 가능하다. list =..
2022.02.03 -
[Python] 한 번에 여러 정수 데이터를 입력 받는 방법
한 줄에 여러 정수 데이터를 입력하는 방법 stringInputData = input("숫자를 입력하세요 : ") intInputData = stringInputData.split(' ') x, y, z = map(int, intInputData) print("x = {}, y = {}, z = {}".format(x, y, z)) 한 줄에 입력된 정수 데이터들로 리스트(list) 생성하는 법 stringInputData = input("숫자를 입력하세요 : ") intInputData = stringInputData.split(' ') L = list(map(int, intInputData)) # list()로 묶어주면 됨 print("L = ", L)
2022.02.03 -
[Python] all()과 any()
all (iterable) 반복 가능한 자료형(iterable)의 모든 항목(item)들이 True이면 함수의 결과는 True 어떤 항목 하나라도 False이면 결과는 False L1 = [True, True, True, True] L2 = [True, False, True, True] print(all(L1)) # True print(all(L2)) # False any (iterable) 반복 가능한 자료형(iterable)의 항목(item)들 중 하나라도 True이면 함수의 결과는 True 모든 항목이 False이면 결과는 False L1 = [False, False, False, False] L2 = [True, False, True, True] print(any(L1)) # False print..
2022.02.03