이코테 이코테-chapter12: 구현 문제-자물쇠와 열쇠 알고리즘나중에 다시 풀 문제이것이 취업을 위한 코딩 테스트다.이코테나중에 다시 풀 문제 [Data Structure & Algorithm] 최소 신장 트리 & 크루스칼 알고리즘 (shortest path) 신장 트리(Spanning Tree): Tree 자료구조 중 하나입니다 하나의 graph가 있을때 모든 node를 포함하면서 cycle이 존재하지 않는, 부분 graph를 뜻 합니다 최소 신장 트리(Minimum Spanning Tree, MST): 하나의 graph에서 여러개의 신장 트리가 나올 수 있는데, 이 중 최소한의 비용의 트리를 최소 신장 트리라 합니다 MST 를 찾는 알고리즘으로... Spanning Treealgorithmdata structurepythonMinimum Spanning TreeMST이코테MST 이코테-chapter 11: 그리디 문제-문자열 뒤집기-python 알고리즘이것이 취업을 위한 코딩 테스트다.이코테알고리즘 [Algorithm] 무방향 그래프 사이클 판별(서로소 집합) 무방향(non-direction) graph에서 cycle 판별 : 서로소 집합(disjoint set) 방향(direction) graph에서 cycle 판별 : DFS 본 글에서는 무방향 graph에서의 cycle 판별에 대해 알아보겠습니다 합집합 연산은 graph에서의 edge로 표현될 수 있습니다 따라서 edge를 하나씩 확인하면서 두 node가 포함되어 있는 집합을 합치는 과정을 반... python이코테서로소 집합무방향 사이클 판별python 이코테-chapter 11: 그리디 문제-만들 수 없는 금액-python 알고리즘이코테나중에 다시 풀 문제이것이 취업을 위한 코딩 테스트다.나중에 다시 풀 문제 이코테-chapter11: 그리디 문제-무지의 먹방 라이브 알고리즘이코테나중에 다시 풀 문제이것이 취업을 위한 코딩 테스트다.나중에 다시 풀 문제 이코테-chapter12: 구현 문제-문자열 재정렬 알고리즘이코테이것이 취업을 위한 코딩 테스트다.알고리즘 이코테 강의 정리 - DFS/BFS 대표적인 그래프 탐색 알고리즘으로는 DFS와 BFS가 있음 → 자주 출제됨 먼저 들어온 데이터가 나중에 나가는 형식(선입후출)의 자료구조 입구와 출구가 동일한 형태로 스택을 시각화할 수 있음 먼저 들어온 데이터가 먼저 나가는 형식(선입선출) 자료구조 모든 재귀 함수는 반복문을 이용하여 동일한 기능을 구현할 수 있음 재귀 함수가 반복문보다 유리한 경우도 있고 불리한 경우도 있음 컴퓨터가 함수를... 그래프 탐색이코테그래프 탐색 신장트리와 위상정렬 신장트리 : 그래프에서 모든 노드를 포함하면서 사이클이 존재하지 않는 부분 그래프 👉 신장 트리가 아닌 부분 그래프를 보면, 1번 노드는 연결되어 있지 않고, 사이클이 존재하기 때문에 신장 트리라고 할 수 없다. 👉 즉, 모든 노드가 서로 연결되어 이동이 가능하도록 만들되, 최소한의 비용으로 전체 신장 트리를 구성하고자 하는 문제 ◾ 사이클이 발생하지 않는 경우 최소 신장 트리에 포함시킨다.... 신장트리자료구조알고리즘코딩테스트코테이코테위상정렬신장트리 [코딩테스트] 구현 : 시뮬레이션과 완전 탐색 따라서 컴퓨터가 수행할 수 있도록 구현하는 일은 반드시 필요한 과정이다. A는 N X N 크기의 정사각형 공간 위에 서있다. 시작좌표는 항상 (1,1)이며 A는 상,하,좌,우 방향으로 이동할 수 있다.( 1 <= N <= 100, 1 <= 이동횟수 <= 100) L : 왼쪽으로 한 칸 이동 R : 오른쪽으로 한 칸 이동 U : 위로 한 칸 이동 D : 아래로 한 칸 이동 먼저 이동계획서에 있... 이코테이코테 [이코테] 구현 - 왕실의 나이트 나이트는 말을 타고 있기 때문에 이동을 할 때는 L자 형태로만 이동할 수 있으며 정원 밖으로는 나갈 수 없다. 나이트는 특정한 위치에서 다음과 같은 2가지 경우로 이동할 수 있다. 수평으로 두 칸 이동한 뒤에 수직으로 한 칸 이동하기 수직으로 두 칸 이동한 뒤에 수평으로 한 칸 이동하기 이처럼 8x8 좌표 평면상에서 나이트의 위치가 주어졌을 때 나이트가 이동할 수 있는 경우의 수를 출력하는 ... 이코테이코테 [이코테] 그리디 - 거스름돈 참고로 시간 복잡도에서 거슬러 주어야 할 돈 N은 찾아볼 수 없는 것을 알 수 있다. 즉, 이 알고리즘의 시간 복잡도는 동전의 총 종류에만 영향을 받고, 거슬러 줘야하는 금액의 크기와는 무관하다는 것을 알 수 있다. 이 문제는 그리디 알고리즘을 이용해 풀 수 있는 대표적인 문제로 간단한 아이디어만 떠올릴 수 있으면 문제를 해결할 수 있다. N원을 거슬러 줘야 할 때, 가장 먼저 500원으로 ... 이코테이코테 [이코테] DFS/BFS - 감시 피하기 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 또한 선생님은 상, 하, 좌, 우 4가지 방향에 대하여, 아무리 멀리 있더라도 장애물로 막히기 전까지의 학생들은 모두 볼 수 있다고 가정하자. 학생들은 복도의 빈 칸 중에서 장애물을 설치할 위치를 골라, 정확히 3개의 장애물을 설치해야 한다. 결과적으로 3개의 장애물을 설치하여 모든 학생... 이코테이코테 [이코테] 구현 - 뱀 이 게임에는 뱀이 나와서 기어 다니는데, 사과를 먹으면 뱀 길이가 늘어납니다. 뱀이 이리저리 기어 다니다가 벽 또는 자기 자신의 몸과 부딪히면 게임이 끝납니다. 게임은 N x N 정사각 보드 위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있습니다. 게임을 시작할 때 뱀은 맨 위 맨 좌측에 위치하고 뱀의 길이는 1입니다. 먼저 뱀은 몸길이를 늘려 머리를 다음 칸에 위치시킵니다. 만약 이동한 칸에... 이코테이코테 [이코테] 구현 - 문자열 재정렬 🔔 문제 알파벳 대문자와 숫자(0~9)로만 구성된 문자열이 입력으로 주어집니다. 이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에, 그 뒤에 모든 숫자를 더한 값을 이어서 출력합니다. 예를 들어 K1KA5CB7이라는 값이 들어오면 ABCKK13을 출력합니다. 입력 첫째 줄에 하나의 문자열 S가 주어집니다. (1<=S의 길이<=10,000) 출력 첫째 줄에 문제에서 요구하는 정답을 ... 이코테이코테 [이코테] 구현 - 럭키 스트레이트 🔔 문제 게임의 아웃복서 캐릭터는 필살기인 '럭키 스트레이트' 기술이 있습니다. 이 기술은 매우 강력한 대신에 게임 내에서 점수가 특정 조건을 만족할 때만 사용할 수 있습니다. 특정 조건이란 현재 캐릭터의 점수를 N이라고 할 때 자릿수를 기준으로 점수 N을 반으로 나누어 왼쪽 부분의 각 자릿수의 합과 오른쪽 부분의 각 자릿수의 합을 더한 값이 동일한 상황을 의미합니다. 예를 들어 현재 점수가... 이코테이코테
이코테-chapter12: 구현 문제-자물쇠와 열쇠 알고리즘나중에 다시 풀 문제이것이 취업을 위한 코딩 테스트다.이코테나중에 다시 풀 문제 [Data Structure & Algorithm] 최소 신장 트리 & 크루스칼 알고리즘 (shortest path) 신장 트리(Spanning Tree): Tree 자료구조 중 하나입니다 하나의 graph가 있을때 모든 node를 포함하면서 cycle이 존재하지 않는, 부분 graph를 뜻 합니다 최소 신장 트리(Minimum Spanning Tree, MST): 하나의 graph에서 여러개의 신장 트리가 나올 수 있는데, 이 중 최소한의 비용의 트리를 최소 신장 트리라 합니다 MST 를 찾는 알고리즘으로... Spanning Treealgorithmdata structurepythonMinimum Spanning TreeMST이코테MST 이코테-chapter 11: 그리디 문제-문자열 뒤집기-python 알고리즘이것이 취업을 위한 코딩 테스트다.이코테알고리즘 [Algorithm] 무방향 그래프 사이클 판별(서로소 집합) 무방향(non-direction) graph에서 cycle 판별 : 서로소 집합(disjoint set) 방향(direction) graph에서 cycle 판별 : DFS 본 글에서는 무방향 graph에서의 cycle 판별에 대해 알아보겠습니다 합집합 연산은 graph에서의 edge로 표현될 수 있습니다 따라서 edge를 하나씩 확인하면서 두 node가 포함되어 있는 집합을 합치는 과정을 반... python이코테서로소 집합무방향 사이클 판별python 이코테-chapter 11: 그리디 문제-만들 수 없는 금액-python 알고리즘이코테나중에 다시 풀 문제이것이 취업을 위한 코딩 테스트다.나중에 다시 풀 문제 이코테-chapter11: 그리디 문제-무지의 먹방 라이브 알고리즘이코테나중에 다시 풀 문제이것이 취업을 위한 코딩 테스트다.나중에 다시 풀 문제 이코테-chapter12: 구현 문제-문자열 재정렬 알고리즘이코테이것이 취업을 위한 코딩 테스트다.알고리즘 이코테 강의 정리 - DFS/BFS 대표적인 그래프 탐색 알고리즘으로는 DFS와 BFS가 있음 → 자주 출제됨 먼저 들어온 데이터가 나중에 나가는 형식(선입후출)의 자료구조 입구와 출구가 동일한 형태로 스택을 시각화할 수 있음 먼저 들어온 데이터가 먼저 나가는 형식(선입선출) 자료구조 모든 재귀 함수는 반복문을 이용하여 동일한 기능을 구현할 수 있음 재귀 함수가 반복문보다 유리한 경우도 있고 불리한 경우도 있음 컴퓨터가 함수를... 그래프 탐색이코테그래프 탐색 신장트리와 위상정렬 신장트리 : 그래프에서 모든 노드를 포함하면서 사이클이 존재하지 않는 부분 그래프 👉 신장 트리가 아닌 부분 그래프를 보면, 1번 노드는 연결되어 있지 않고, 사이클이 존재하기 때문에 신장 트리라고 할 수 없다. 👉 즉, 모든 노드가 서로 연결되어 이동이 가능하도록 만들되, 최소한의 비용으로 전체 신장 트리를 구성하고자 하는 문제 ◾ 사이클이 발생하지 않는 경우 최소 신장 트리에 포함시킨다.... 신장트리자료구조알고리즘코딩테스트코테이코테위상정렬신장트리 [코딩테스트] 구현 : 시뮬레이션과 완전 탐색 따라서 컴퓨터가 수행할 수 있도록 구현하는 일은 반드시 필요한 과정이다. A는 N X N 크기의 정사각형 공간 위에 서있다. 시작좌표는 항상 (1,1)이며 A는 상,하,좌,우 방향으로 이동할 수 있다.( 1 <= N <= 100, 1 <= 이동횟수 <= 100) L : 왼쪽으로 한 칸 이동 R : 오른쪽으로 한 칸 이동 U : 위로 한 칸 이동 D : 아래로 한 칸 이동 먼저 이동계획서에 있... 이코테이코테 [이코테] 구현 - 왕실의 나이트 나이트는 말을 타고 있기 때문에 이동을 할 때는 L자 형태로만 이동할 수 있으며 정원 밖으로는 나갈 수 없다. 나이트는 특정한 위치에서 다음과 같은 2가지 경우로 이동할 수 있다. 수평으로 두 칸 이동한 뒤에 수직으로 한 칸 이동하기 수직으로 두 칸 이동한 뒤에 수평으로 한 칸 이동하기 이처럼 8x8 좌표 평면상에서 나이트의 위치가 주어졌을 때 나이트가 이동할 수 있는 경우의 수를 출력하는 ... 이코테이코테 [이코테] 그리디 - 거스름돈 참고로 시간 복잡도에서 거슬러 주어야 할 돈 N은 찾아볼 수 없는 것을 알 수 있다. 즉, 이 알고리즘의 시간 복잡도는 동전의 총 종류에만 영향을 받고, 거슬러 줘야하는 금액의 크기와는 무관하다는 것을 알 수 있다. 이 문제는 그리디 알고리즘을 이용해 풀 수 있는 대표적인 문제로 간단한 아이디어만 떠올릴 수 있으면 문제를 해결할 수 있다. N원을 거슬러 줘야 할 때, 가장 먼저 500원으로 ... 이코테이코테 [이코테] DFS/BFS - 감시 피하기 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 또한 선생님은 상, 하, 좌, 우 4가지 방향에 대하여, 아무리 멀리 있더라도 장애물로 막히기 전까지의 학생들은 모두 볼 수 있다고 가정하자. 학생들은 복도의 빈 칸 중에서 장애물을 설치할 위치를 골라, 정확히 3개의 장애물을 설치해야 한다. 결과적으로 3개의 장애물을 설치하여 모든 학생... 이코테이코테 [이코테] 구현 - 뱀 이 게임에는 뱀이 나와서 기어 다니는데, 사과를 먹으면 뱀 길이가 늘어납니다. 뱀이 이리저리 기어 다니다가 벽 또는 자기 자신의 몸과 부딪히면 게임이 끝납니다. 게임은 N x N 정사각 보드 위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있습니다. 게임을 시작할 때 뱀은 맨 위 맨 좌측에 위치하고 뱀의 길이는 1입니다. 먼저 뱀은 몸길이를 늘려 머리를 다음 칸에 위치시킵니다. 만약 이동한 칸에... 이코테이코테 [이코테] 구현 - 문자열 재정렬 🔔 문제 알파벳 대문자와 숫자(0~9)로만 구성된 문자열이 입력으로 주어집니다. 이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에, 그 뒤에 모든 숫자를 더한 값을 이어서 출력합니다. 예를 들어 K1KA5CB7이라는 값이 들어오면 ABCKK13을 출력합니다. 입력 첫째 줄에 하나의 문자열 S가 주어집니다. (1<=S의 길이<=10,000) 출력 첫째 줄에 문제에서 요구하는 정답을 ... 이코테이코테 [이코테] 구현 - 럭키 스트레이트 🔔 문제 게임의 아웃복서 캐릭터는 필살기인 '럭키 스트레이트' 기술이 있습니다. 이 기술은 매우 강력한 대신에 게임 내에서 점수가 특정 조건을 만족할 때만 사용할 수 있습니다. 특정 조건이란 현재 캐릭터의 점수를 N이라고 할 때 자릿수를 기준으로 점수 N을 반으로 나누어 왼쪽 부분의 각 자릿수의 합과 오른쪽 부분의 각 자릿수의 합을 더한 값이 동일한 상황을 의미합니다. 예를 들어 현재 점수가... 이코테이코테