프로그래밍 언어(15)
-
코딩 테스트 단계별 공부 1 - 재귀
단계보기 1 - 재귀 재귀 출처 https://dojang.io/mod/page/view.php?id=2352 재귀 함수안에서 함수 자기자신을 호출하는 방식 def hello(): print('Hello, world!') hello() hello() # 결과물 (최대 recursive 길이는 1000이다.) ''' Hello, world! Hello, world! Hello, world! Hello, world! ..중략.. Hello, world! Hello, world! ''' # 종료조건 부여 def hello(count): if count == 0: # 종료 조건을 만듦. count가 0이면 다시 hello 함수를 호출하지 않고 끝냄 return print('Hello, world!', count..
2022.06.16 -
코딩 테스트 유형보기 3 - 브루트 포스
유형보기 3 - 브루트 포스 브루트 포스 출처 https://marisara.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%8B%A4%EC%A0%84-%EB%B8%8C%EB%A3%A8%ED%8A%B8-%ED%8F%AC%EC%8A%A4-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-1-for%EB%AC%B8%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EB%B8%8C%EB%A3%A8%ED%8A%B8-%ED%8F%AC%EC%8A%A4 브루트 포스 ( Brute-Force, 완전탐색) 완전 탐색법이라고도 불리는 브루트포스 알고리즘은 무차별 대입법이라고도 하는데, 가능한 모든 경우의 수를 구하고 답을 찾아내는 알고리즘을 의미한..
2022.06.16 -
코딩 테스트 유형보기 2 - DFS / BFS
유형보기 2 - DFS / BFS DFS 와 BFS 내용출처 https://covenant.tistory.com/132 https://velog.io/@lucky-korma/DFS-BFS%EC%9D%98-%EC%84%A4%EB%AA%85-%EC%B0%A8%EC%9D%B4%EC%A0%90 1. 깊이 우선 탐색 ( DFS : Depth-First Search ) 최대한 깊이 내려간 뒤, 더 이상 깊이 갈 곳이 없을 경우 옆으로 이동 깊이 우선 탐색의 개념 및 이해 루트 노드 ( 혹은 다른 임의의 노드 ) 에서 시작해서 다음 분기로 넘어가기 전에, 해당 분기를 완벽하게 탐색 최대한 한 방향으로 갈 수 있을 때 까지 가다가 더 이상 못 가게 되면 되돌아가는 방식 2. 너비 우선 탐색 ( BFS : Breadth..
2022.06.15 -
코딩 테스트 유형보기 1 - 자료구조
파이썬 기출 유형 구현/시뮬레이션: 문제의 요구 사항을 주고 이를 구현하거나 시뮬레이션하도록 함 자료구조: 다양한 자료구조를 사용하여 문제 해결 그래프 이론: DFS/BFS와 관련된 알고리즘으로 문제 해결 완전 탐색(부르트 포스): 모든 경우를 탐색하여 해결 자료구조 스택(Stack) LIFO 구조 리스트로 구현 세로로 그려보면 문제풀때 이해하기 좋은거같음 리스트에서 다음 유형 둘다 만족할때 stack 쓰면될거같다. - 1. 좌측에서 왼쪽으로 나아가면서 풀때 - 2. 순서는 안바꾸는 유형일때 Stack에 쌓고(append) 빼내고(pop) 하면서 풀기 대표문제 1. 가장 큰수 2. 후위 표기식 큐(Queue) FIFO 구조 collections.deque 로 구현 - 파이썬 내부 queue라는 내부라이브..
2022.06.15 -
파이썬 모듈
zipfile 해제 import zipfile source_file = '압축을 풀 파일명.zip' with zipfile.ZipFile(source_file, 'r') as zf: zipinfo = zf.infolist() for info in zipinfo: info.filename = info.filename.encode('cp437').decode('euc-kr') zf.extract(info)
2022.06.13 -
코딩테스트 준비 - 3
파이썬 추가문법 ( 딕셔너리 위주 ) collections 함수 collections 함수의 Counter 메소드 import collections participant = ["leo", "kiki", "eden"] completion = ["eden", "kiki"] adict = collections.Counter(participant) # 결과 : Counter({'leo': 1, 'kiki': 1, 'eden': 1}) bdict = collections.Counter(completion) # 결과 : Counter({'eden': 1, 'kiki': 1}) Counter 메소드에서 중요한 점은 연산이 가능하다는 것! adict - bdict # 결과 : Counter({'leo': 1}) Cou..
2022.05.20