영리한 프로그래밍을 위한 알고리즘 강좌

영리한 프로그래밍을 위한 알고리즘 강좌

(43개의 수강평)

20983명의 수강생
알고리즘
무료
지식공유자 · 권오흠
56회 수업· 총 28시간 14분수업
평생 무제한 시청
수료증 미발급 강의
수강 난이도 초급
Jeongwon Yoo 프로필

강의자료 필요하신 분들은 여기 링크 참고해보세요. Jeongwon Yoo 2달 전
각 강의에 해당하는 pdf 자료 나와있습니다. 강의는 인프런에 올라온 것과 같아요~ http://www.kocw.net/home/search/kemView.do?kemId=1148815

0
triplej 프로필

binary search에서 질문 triplej 3달 전
1. 왜 갑자기 매개변수로 int[] 가 아니라 String[]을 쓴 이유가 있을까요? 2. 왜 int compResult = target.compareTo(items[middle]); 은 되고 int compResult = items[middle].compareTo(target); 은 안될까요?

0
cth5132 프로필

pdf에 있는 Excercise 답은 없나요? cth5132 3달 전
답과 해설이 있으면 더 좋을것같은데요...

0
harrymax 프로필

pdf harrymax 6달 전
해당 강좌에 대한 pdf는 다운받지 못하는건가요 ??

0
오지혜 프로필

include 배열에 대해 궁금한점이 있습니다! 오지혜 7달 전
마지막에 k == n개가 될때는 2의 n승개의 powerSet 함수가 호출된다고 이해를 했는데요.include 배열은 함수 밖에 선언이 되어있는데 각 함수마다 다른 값들을 가질 수 있는건가요?혹시 제가 자바스크립트를 써서.. 언어마다 스코프가 다른건가요??

0
강지연 프로필

연결요소 강지연 9달 전
8개의 노드가 있는 그래프에서  7개의 노드가 서로 연결되어있고 1개의 노드만 연결되어 있지 않으면  연결요소가 1개인가요 2개인가요?

0
jbh9730 프로필

heap 정렬에서 배열 인덱스 jbh9730 2019.06.26
heap에서 노드 설명하실 때 항상 배열 인덱스 1부터 시작하시는데 수강생은 임의로 0이라고 생각하고 해석하면 되나요 ?

0
Dahan Jeong 프로필

Java에서의 정렬에서 정렬된 값 출력 방법 Dahan Jeong 2019.06.25
System.out.println(Arrays.toString(fruits)); 를 해도 주소값만 나오는데 해당 값 출력하려면 어떻게 하면 될까요 ㅠ?

2
긍정게임 프로필

MAX-HEAPIFY(A,1) 긍정게임 2019.05.27
MAX-HEAPIFY(A,1) 가 뭔지 모르겠습니다. MAX-HEAPIFY 루트노드를 한번 해주면 된다는게 뭔지 모르겟습니다. MAX-HEAPIFY를 해주는건 아는데 (A,1) 이렇게 코드 작성 되는게 그게 뭐죠?

0
SEONGMOOK LIM 프로필

Python 으로 구현해보았습니다. SEONGMOOK LIM 2019.01.19
class Maze: def findMazePath(self, x, y): if (x < 0 or y < 0 | x >= N or y >= N): #지도 범위를 넘어선곳 return False elif (maze[x][y] != PATHWAY_COLOR): # White 0 #벽 return False elif (x == N - 1 & y == N - 1): # 최종 목적지 maze[x][y] = PATH_COLOR #Green 3 return True else: maze[x][y] = PATH_COLOR #Green 3 # 계속 갈 수 있는 길인지, 막힌 길인지 파악이 안된 길. 일단 가보는 길 if (self.findMazePath(x - 1, y) | self.findMazePath(x, y + 1) | \ self.findMazePath(x + 1, y) | self.findMazePath(x, y - 1)): return True maze[x][y] = BLOCKED_COLOR #Red 2 $ 위의 if 구문에서 Return 받아서 가면 안되는 길 return False if __name__ == '__main__': N = 8 maze = [[0, 0, 0, 0, 0, 0, 0, 1], [0, 1, 1, 0, 1, 1, 0, 1], [0, 0, 0, 0, 0, 0, 0, 1], [0, 1, 0, 0, 1, 1, 0, 0], [0, 1, 1, 1, 0, 0, 1, 1], [0, 1, 0, 0, 0, 1, 0, 1], [0, 0, 0, 1, 0, 0, 0, 1], [0, 1, 1, 1, 0, 1, 0, 0]] PATHWAY_COLOR = 0 # 원래 길 WALL_COLOR = 1 # 벽 BLOCKED_COLOR = 2 # 이 길로 계속 가면 가다 도중에 막히는 길 PATH_COLOR = 3 # 이 길로 계속 가면 끝까지 갈 수 있는 길 s = Maze() print(maze) s.findMazePath(0, 0) print(maze)

0
킨글 프로필

printMaze()는 어떻게 만들어야 할까요? 킨글 2018.09.26
Reversion의 응용 - 미로찾기 1을 듣고 있는데요. printMaze()라는 함수가 강의 내용 중 나오지 않아서 질문드립니다. 혹시 힌트라도 주시면 직접 구현해보려고 하는데 도움 부탁드려요 package test; public class Recursion_Maze { /* * 현재 위치에서 출구까지 가는 경로가 있으려면 * 1) 현재 위치가 출구이거나 혹은 * 2) 이웃한 셀들 중 하나에서 현재 위치를 지나지 않고 출구까지 가는 경로가 있거나 */ private static int N=8; private static int maze[][] = { {0, 0, 0, 0, 0, 0, 0, 1}, {0, 1, 1, 0, 1, 1, 0, 1}, {0, 0, 0, 1, 0, 0, 0, 1}, {0, 1, 0, 0, 1, 1, 0, 0}, {0, 1, 1, 1, 0, 0, 1, 1}, {0, 1, 0, 0, 0, 1, 0, 1}, {0, 0, 0, 1, 0, 0, 0, 1}, {0, 1, 1, 1, 0, 1, 0, 0} }; private static final int PATHWAY_COLOUR = 0; // WHITE private static final int WALL_COLOUR = 1; // BLUE private static final int BLOCKED_COLOUR = 2; // RED private static final int PATH_COLOUR = 3; // GREEN public static void main(String[] args) { printMaze(); // 에러 findMazePath(0,0); printMaze(); // 에러 } public static boolean findMazePath(int x, int y) { if (x<0 || y<0 || x>=N || y>=N) // 좌표 내 유효한 범위인가를 체크 return false; else if(maze[x][y] != PATHWAY_COLOUR) return false; else if(x==N-1 && y==N-1) { maze[x][y] = PATH_COLOUR; return true; }else { maze[x][y] = PATH_COLOUR; if(findMazePath(x-1,y) || findMazePath(x, y+1) || findMazePath(x+1, y) || findMazePath(x, y-1)) { // 탐색하기 return true; } maze[x][y] = BLOCKED_COLOUR; // dead end 어떤 방향으로 가도 출구까지 가는 경로가 없다. return false; } } }

1
Daniel Wiberg 프로필

동서남북 순서 Daniel Wiberg 2018.09.24
서 -> 북 ->동->남 순서 아닌가요?

0
Hoony 프로필

해당 강좌에 대한 pdf는 다운받지 못하는건가요 ?? Hoony 2018.09.14
해당 강좌에 대한 pdf는 다운받지 못하는건가요 ??다이나믹 프로그래밍에 대한 문제 같은것들도 보고싶어서요..ㅠ

0
Hs Kim 프로필

이 강의 ppt 자료는 다운받을 수 없나요? Hs Kim 2018.07.26
이 강의 ppt 자료는 다운받을 수 없나요?

0
코알못 프로필

C언어로 quicksort 구현 해봤는데 안되네요ㅠㅜ 왜 그런걸까요? 코알못 2018.07.16
'''#includeint quicksort(int A[], int p, int q);int partition(int A[], int p, int q);int main(){int num[100]={0,}, n;scanf("%d", &n);for(int i=0; i<n; i++) scanf("%d", &num[i]);quicksort(num, 0, n-1);for(int i=0; i<n; i++) printf("%d", num[i]);}int quicksort(int A[], int p, int q){if(p<q){int r;r=partition(A, p, q);quicksort(A, p, r-1);quicksort(A, r+1, q);}}int partition(int A[], int p, int q){int i=p-1;for(int j=p; j<q-1; j++){if(A[j]<A[q]){i++;int tmp=A[i];A[i]=A[j];A[j]=tmp;}}int tmp=A[i+1];A[i+1]=A[q];A[q]=tmp;}'''

0
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스