Python/코테5 [이것이코딩테스트다] DFS/BFS 탐색 알고리즘 (Search) - 탐색 : 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정, 주로 자료구조 안에서 탐색 하는 문제를 다룸 - 대표적인 탐색 알고리즘 - DFS(Depth-First-Search) - BFS(Breadth-First-Search) -> 스택, 큐, 재귀함수, 그래프에 대한 이해 필요 자료구조(Data Structure) - 데이터를 표현하고 관리하고 처리하기 위한 구조 - 자료구조의 기초 개념 : 스택, 큐 -> 두가지 핵심적인 함수로 구성 - 삽입(Push) : 데이터 삽입 - 삭제(Pop) : 데이터 삭제 + 오버플로, 언더플로 고민 오버플로 : 특정한 자료구조가 수용할 수 있는 데이터의 크기가 가득 찬 상태에서 삽입할 때 발생 언더플로 : 특정한 자료구조에 데이터가.. 2024. 3. 8. [이것이코딩테스트다] 그리디 그리디(Greedy) 유형- 현재 상황에서 지금 당장 좋은 것만 고르는 방법 -> 말 그대로 탐욕- 매 순간 가장 좋아 보이는 것을 선택- 현재 선택이 나중에 미칠 영향 고려X 코딩 테스트에서의 특징- 코테에서 그리디 알고리즘 문제 유형은 주로 사전에 외우고 있지 않아도 풀 수 있을 가능성이 높음-> 그리디 알고리즘 유형의 문제는 매우 다양. 다양하게 풀어봐야함.- 최소한의 창의력 요구. 현재 상황에서 가장 좋아 보이는 것만을 선택해도 문제 풀 수 있는지 파악할 수 있어야함- 문제에서 '가장 큰 순서대로', '가장 작은 순서대로' 처럼 기준을 제시해주기도함 -> 정렬 알고리즘과 짝을 이뤄 출제되기도 - 이 방법대로 하면 항상 최적의 해를 가지는지- 현재 선택할 수 있는 가장 최선의 방법이 무엇인지- 문.. 2024. 3. 5. [이것이코딩테스트다] 구현 구현 유형이란? - 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제 - 말그대로 코드로 구현하는 유형 - 정확한 문법 숙지, 여러 라이브러리 사용 경험 필요 구현 유형 (구현이 핵심이 문제 유형) - 완전 탐색 : 모든 경우의 수를 다 계산하는 유형 - 시뮬레이션 : 문제에서 지시한 알고리즘을 한 단계씩 차례대로 직접 수행해야하는 유형 예제 4-1 상하좌우 (시뮬레이션) - 리스트 활용해서 이동계획별 이동거리 정의 - continue 활용해서 공간 벗어나는 경우 무시 n = int(input()) plans = input().split() # 초기 좌표 x, y = 1,1 # L,R,U,D 에 따른 이동방향 # 이렇게 list를 활용해서 move_types 별 이동을 정의할 수 있음 move_.. 2024. 3. 2. try , except 오류가 발생했을 시 예외 처리 기법 try 블록을 실행하다가 오류가 발생하면 except 블록을 실행한다 try ~ else 오류가 발생하지 않았을 때 어떻게 할지 2023. 3. 12. map() map(function, iterable) 첫 번째 매개변수 - 적용할 함수 두 번째 매개변수 - 반복 가능한 자료형(리스트, 튜플 등) 반환 값은 map 객체 -> list나 튜플로 형 변환 시켜야함! 두 번째 매개변수에 들어온 반복 가능한 자료를 함수에 하나씩 집어넣어서 함수를 수행한다 map(적용시킬 함수, 적용할 값들) 입력 받는 상황 '1 3' 띄어쓰기로 두개의 숫자 입력 input().split() -> split() 함수로 공백을 기준으로 잘라서 리스트가 반환된다. 그리고 int함수를 적용시킨다. 리스트를 그대로 다루는 것 보다 편하다 f-string 문자열 포매팅 f'문자열 {변수} 문자열' 첫 번째 매개변수에 람다 적용 가능 2023. 3. 2. 이전 1 다음