#알고리즘

r928r928· 4개월

질문플로이드워셜 알고리즘의 핵심 원리가 궁금합니다

코딩 테스트를 준비하면서 현재 플로이드 워셜을 공부중입니다 문제는 백준에서 공식외워서 기초 문제는 푸는데, 알고리즘 핵심 원리를 이해 못하니까 하나라도 응용 문제가 나오면 막혀버립니다. 3중 for문의 실행 한번이 d[i,j] = min(d[i,j], d[i,k] + d[k,j]) 즉 k를 경유해서 가는 경로가 더 짧으면, 해당 경로로 갱신한다는건 알겠는데 갱신되어가고(데이터가 변하고) 있는 테이블을 가지고 처음부터 끝까지 순차적으로 순회를 해서 모든 쌍의 최단 경로가 구해지는 원리를 잘 모르겠습니다 유튜브에서 이것저것 봤는데 영 모르겠습니다 ㅠㅠ 혹시 이해시켜주실분 있을까요?
84
1
1
윈비
윈비·2024-12-05
매번 테이블을 업데이트한다는 것은 점점 더 나은 최단 경로를 찾아간다는 거예요. 즉, 처음에는 직접 연결된 거리만 알고 시작하는데 한 번씩 경유지를 추가하다보면 새로운 더 짧은 경로를 발견할 수 있죠. 예를 들어, A에서 C로 가는 경로가 처음에는 A -> C로 직접 가는 방법밖에 없었는데, 나중에 A -> E -> C라는 더 ...

알고리즘 CPP 디자인패턴 같이 공부해요

모든 자료가 무료로 제공 되고 있습니다!  광고 없습니다.   많이 부족하지만 꾸준하게 운영할 생각입니다. 다같이 공부하는 장이 되었으면 좋겠습니다.
1.0K
1
0
닥터핸닥터핸· 3년

프론트엔드 개발자에게도 알고리즘 공부가 중요할까? | 요즘IT

프론트엔드 개발자에게도 알고리즘 공부가 중요할까? | 요즘IT 우리는 왜 알고리즘을 공부할까요? 기초 소양을 쌓기 위해서? 좀 더 나은 개발자가 되기 위해서? 아주 틀린 이야기는 아니지만, 좀 더 솔직하게 얘기해 보겠습니다. 아마 대부분은 코딩 테스트를 통과하기 위해 알고리즘을 공부하고 있을 겁니다. 프론트엔드 개발자라면 ‘일단 서비스부터 잘 만들어야 할 것 같은데, 알고리즘은 또 언제 배우냐?’라며 막막한 마음이 들었던 것이 사실입니다. 저도 이런 고민을 했던 입장으로써, 오늘은 프론트엔드 개발자의 관점에서 알고리즘 공부의 중요성에 대해 솔직하게 이야기해보고자 합니다. yozm.wishket.com 알고리즘에 너무 얽매이지 말자
1.3K
2
0
dkncdknc· 4년

질문자바 알고리즘 질문

책으로 공부를하고있는데 답이랑 코딩이 없는책이라 어려움을 느끼고 있습니다. 1번 각각 정렬되어있는 두개의 단순연결리스트를 하나의 정렬된 단순연결 리스트로 만드는 메소드를 작성하시오. 각 노드에는 한개의 정수가 저장되어있다. 문제의 예  정렬된 a 는 1 4 6 정렬된 b 는 2 3 5 8 9 이렇게 있는데 단순연결리스트로 코드를 어떻게 작성해야할까요?   2번 각 노드에 한개의 정수가 저장된 단순연결리스트와 정수 k가 주어질때, 이 단순연결리스트를 하나는 k와 같거나 작은 정수를 가진 연결리스트로, 다른 하나는 k보다 큰 정수를 가진 노드들로만 구성되는 연결리스트를 분리하는 메소드를 작성하시오. 예를들어서 k = 7 이고 a는 8 ,9 b는 2,7,4,6 이거를 k보다 큰거를 표시하고 작은거를 표시하는 코드를 작성하고싶습니다.   
1.6K
1
0
무린
무린·2021-03-21
올리신 질문의 파이썬 정답이 있는 주소입니다. https://antananarivo.tistory.com/8   자바 버전으로 변환하려면 Node 클래스와 List 인터페이스가 필요한데 자바용 Node 클래스와 List 인터페이스를 만드는 방법은 이 링크를 참고해보시기 바랍니다. https://st-lab.tistory.com/167
YuniYuni· 4년

질문알고리즘 질문

전체 사람 수 :  N명 전체 사람의 그룹 : G개 식탁 갯수 : T개 전체 사람을 94명, 그룹의 갯수를 4개, 식탁의 갯수를 12개라 가정하겠습니다.  조건 1. 식탁 한개에 6~8명이 되어야 합니다.  2. 이때 식탁 하나에 구성인원은 4개의 그룹이 공정하게 섞여야 합니다.  3. 결과를 출력할 수 있어야 합니다. Ex) 식탁한개의 구성인원 :8/구성인원 : AABBCCDD (o) 식탁한개의 구성인원 : 7/ 구성인원 : AABBCDD(o) 식탁한개의 구성인원 : 7/ 구성인원 : AAACCDD(x) G개의 그룹으로 나뉜 N명을 어떻게 T개의 식탁에 공정하게 분배하는지를 알려주시면 감사하겠습니다 ㅠㅠ 며칠동안 고민해봤는데 93명을 가정하면 8명짜리 식탁 11개, 5명짜리 식탁1개 나오는 오류가 나오더라고요.  파이썬 코드와 함께 알려주시면 감사하겠습니다...
1.3K
1
0
kimho
kimho·2020-12-05
아래 코드는 균등하게 분배하는 예제입니다. 이 코드를 참고하여 "그룹"에 대한 부분만 추가로 적용하시면 될 것 같습니다. def makeValues(G,N): val = G//N rem = G%N return [val]*(N-rem) + [val+1]*rem >>> makeVal...