Coder/알고리즘

    이코테 CHAPTER 04 구현 정리 및 실전 문제

    아이디어를 코드로 바꾸는 구현 구현 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제 ex 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제 실수 연산을 다루고, 특정 소수점 자리까지 출력해야 하는 문제 문자열을 특정한 기준에 따라서 끊어 처리해야 하는 문제 적절한 라이브러리를 찾아서 사용해야 하는 문제 N개의 원소가 들어 있는 리스트에서 R개의 원소를 뽑아 한 줄로 세우는 모든 경우(순열)를 구해야 하는 문제 → python itertools 사용(표준 라이브러리) 시뮬레이션 및 완전 탐색 문제 시뮬레이션 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행해야 하는 문제 완전 탐색 모든 경우의 수를 주저 없이 다 계산하는 해결 방법 2차..

    이코테 CHAPTER 05 DFS/BFS 실전 문제

    1. 음료수 얼려 먹기 문제. N × M 크기의 얼음 틀이 있다. 구멍이 뚫려 있는 부분은 0, 칸막이가 존재하는 부분은 1로 표시된다. 구멍이 뚫려 있는 부분끼리 상, 하, 좌, 우로 붙어 있는 경우 서로 연결되어 있는 것으로 간주한다. 이때 얼음 틀의 모양이 주어졌을 때 생성되는 총 아이스크림의 개수를 구하는 프로그램을 작성하라. 다음의 4 × 5 얼음 틀 예시에서는 아이스크림이 총 3개가 생성된다 입력 첫 번째 줄에 얼음 틀의 세로 길이 N과 가로 길이 M이 주어진다. (1

    이코테 CHAPTER 05 DFS/BFS

    꼭 필요한 자료구조 기초 탐색 Search 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정 대표적인 탐색 알고리즘인 DFS와 BFS 자료구조 데이터를 표현하고 관리하고 처리하기 위한 구조 스택과 큐 삽입, 삭제, 오버플로, 언더플로 스택 Stack 먼저 들어 온 데이터가 나중에 나가는 형식(선입후출 FILO) 입구와 출구가 동일한 형태로 스택을 시각화 별도의 라이브러리 필요X 기본 리스트 자료형에서 append()와 pop() 메서드를 이용 append()와 pop() 시간복잡도: O(1) stack.append(5) stack.pop() print(stack) # 최하단 원소부터 출력 print(stack[::-1]) # 최상단 원소부터 출력 큐 Queue 먼저 들어 온 데이터가 먼저 나가는 형식(..