안녕하세요 선생님, 다익스트라 알고리즘 질문드립니다. 제가 강의를 듣고 이해하면서 나름대로 주석을 적어 봤는데 맞는지 모르겠습니다. 한번 확인해 주시면 정말 감사하겠습니다. 선생님의 답변이 학습에 큰 도움이 되고 있습니다. #include <iostream> #include <vector> #include <queue> #include <algorithm> #include <limits> using namespace std; struct Edge { int destVertex; int distance; Edge(int dest, int weight){ destVertex = dest; distance = weight; } bool operator < (const Edge &edge) const { return distance > edge.distance; // minimum heap } }; int main(int argc, char** argv) { freopen("input.txt", "rt", stdin); int vertexSize, edgeSize; cin >> vertexSize >> edgeSize; vector<Edge> graph[vertexSize + 1]; for(int i = 0; i < edgeSize; i++){ int source, dest, cost; cin >> source >> dest >> cost; graph[source].push_back(Edge(dest, cost)); } vector<int> dists(vertexSize + 1, INT_MAX); priority_queue<Edge> myPQueue; myPQueue.push(Edge(1, 0)); dists[1] = 0; while(!myPQueue.empty()){ // 현재 시점에서 최소 거리로 이동할 수 있는 엣지를 꺼냄 Edge edge = myPQueue.top(); myPQueue.pop(); // 꺼낸 엣지를 통해 movedVertex 정점으로 이동해 왔다고 가정함 int movedVertex = edge.destVertex; int movedDist = edge.distance; // movedVertex에 더 작은 비용으로 왔던 적이 있다면 살펴볼 필요가 없음 if(movedDist > dists[movedVertex]) continue; // movedVertex과 연결된 엣지를 탐색 : 뻗어나가기 for(int i = 0; i < graph[movedVertex].size(); i++){ // connectedEdge = movedVertex와 연결된 엣지 Edge connectedEdge = graph[movedVertex][i]; // movedVertex와 엣지로 연결된 다른 정점 int nextVertex = connectedEdge.destVertex; // nextDist = movedVertex까지 오는 데 쓰인 거리 + 그 정점과 연결된 다른 정점까지의 거리 int nextDist = movedDist + connectedEdge.distance; // 지금 구한 거리가 최소값이라서 갱신해야 하는 경우 if(nextDist < dists[nextVertex]){ // edge -> connectedEdge를 거쳐 이동한 거리로 갱신 dists[nextVertex] = nextDist; // 이 엣지를 이용해 다른 노드로 갈 수 있도록 큐에 push myPQueue.push(Edge(nextVertex, nextDist)); } } } for(int i = 2; i <= vertexSize; i++){ if(dists[i] != INT_MAX) cout << i << " : " << dists[i] << "\n"; else cout << i << " : impossible" << "\n"; } return 0; }
[seeko 기사 가져오기] 강의에 나온 사이트가 바뀌었습니다. https://www.seeko.kr/zboard4/zboard.php?id=mainnews 를 검색창에 치면 아래 사진처럼 드림워즈 라는 검색엔진으로 바뀝니다. seeko.kr 사이트가 드림워즈로 바뀐거 같아요. 강의와 관련있는 질문 을 남겨주세요. • 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등) • 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색 을 해주세요. (중복 질문을 자제해주세요.) • 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’ 를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달 에도 요령이 필요합니다. • 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요. • 강의실 페이지 (/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다. • 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재 해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드 를 남겨주세요! 구체적인 질문 일수록 명확한 답을 받을 수 있어요. • 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요. • 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요 . • 정확한 질문 내용과 함께 코드 를 적어주시거나, 캡쳐 이미지 를 첨부하면 더욱 좋습니다. 기본적인 예의 를 지켜주세요. • 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용 은 스팸 처리 등 제재를 가할 수 있습니다.
1번째 container에 height가 `heightNum`값에 따라서 5815px로 설정되었습니다. 근데 이 때, padding-top이 50vh로 설정되었는데 5815px 안에 포함되더라구요. 다른 페이지를 열어서 padding-top을 따로 줬을 때는 height + padding-top이 되어서 어떤 원리로 height 내에 padding이 포함된 것인지 궁금합니다.
안녕하세요! 강의 너무 잘 듣고 있습니다. 이번 강의에서 setValue라는 이름의 action creator를 이용해서 코드를 개선하는 방법을 배웠는데요. 여기에 더 나아가서 상태값을 추가했을 때 selector.js도 변경하지 않도록 다음과 같은 코드(getValue)를 selector.js에 추가하는 어떨까요? // selector.js // export const getAgeLimit = (state) => state.friend.ageLimit; export const getValue = (key) => (state) => state.friend[key]; // FriendMain.js export default function FriendMain() { const ageLimit = useSelector(getValue('ageLimit')); // ... }
강의 듣는 중에 바뀐 부분이 있어 알려드립니다~ [다음 뉴스 기사의 댓글 가져오기1] 에 선택자 마지막 부분이 alex-area > div > div > div > div.cmt_box > div.alex_more > a 에서 alex-area > div > div > div > div.cmt_box > div.alex_more > button 로 바뀌었습니다. 그리고 아래의 사이트 둘다 댓글 더보기 2번 클릭해서 총 20개정도 까지만 볼 수 있고, 이후에 댓글 자체가 아예 안나오게 되어 있어요. https://news.v.daum.net/v/20190709153227319?d=y https://news.v.daum.net/v/20190709165157301?d=y 강의와 관련있는 질문 을 남겨주세요. • 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등) • 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색 을 해주세요. (중복 질문을 자제해주세요.) • 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’ 를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달 에도 요령이 필요합니다. • 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요. • 강의실 페이지 (/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다. • 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재 해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드 를 남겨주세요! 구체적인 질문 일수록 명확한 답을 받을 수 있어요. • 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요. • 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요 . • 정확한 질문 내용과 함께 코드 를 적어주시거나, 캡쳐 이미지 를 첨부하면 더욱 좋습니다. 기본적인 예의 를 지켜주세요. • 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용 은 스팸 처리 등 제재를 가할 수 있습니다.
ROC 커브 부분에서 Threshold 값이 1.965...값을 갖는 경우가 나왔습니다. 같은 파라미터로 precision_recall_curve는 정상적으로 0 ~ 1사이로 값을 갖는데 왜 이러는건지 모르겠습니다. 참고로 sklearn버전은 0.23.1입니다.. sklearn 이전 버전 documetation을 봐도 내용은 아래와 같이 동일한데요 (0번째값은 의미없는 값을 갖는거 같습니다.) Decreasing thresholds on the decision function used to compute fpr and tpr. thresholds[0] represents no instances being predicted and is arbitrarily set to max(y_score) + 1 . 그런데, max(y_score)+1이면 무조건 1보다 커야하는데 왜 강의 및 documentation 예제는 0.xx값을 갖는 걸까요...?
focus는 hover와 달리 많이 사용해도 전혀 문제가 되자 않나요?!\ 똑같은 태그에 연속으로 사용해도 문제가 안되는 부분인가요/> 아그리고 여기와는 무관하지만 flex는 정확히 무슨 요소일가요?? flot을 줬을때 먹혔던 속성들이 flxe 를 주면 안먹힐때가 기억나서 여쭤보게 되었습니다. 마지막으로 혹시 순수 자바스크립트 강좌는 해보실 생각 없으신지요;; 제가 라이브러리도 좋지만 DOM 에대한 강의를 전혀 찾지못해 구글링도 딸리고 정보력이없어서 여쭈어 봅니다 ㅠ 돈은 얼마여도 듣구싶구 믿고 들을수 잇을거 같아서요;
안녕하세요 강사님, 좋은 강의 잘 듣고있습니다. 세션 동시성에 대해 질문드립니다. 동일한 계정으로 a client 에서 로그인 후 b client 로그인 시 a client 는 세션 만료가 되지만 a에서 server측에 연결 시도를 하지 않으면 invalidsession 표시가 안나오는데요,, 필터 특성상 어쩔수없다지만, 실시간으로 a client의 세션이 만료된걸 확인 할 수 있을까요?
express : 'express' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + express --ejs myfristmap + ~~~~~~~ + CategoryInfo : ObjectNotFound: (express:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException 라 뜨는데 패스도 설정햇고 강의처럼 express-generator도 설치한것 같은데 작동하질않네요..
안녕하세요 저는 처음에 문제를 class Solution { public void moveZeroes(int[] nums) { int min = Integer.MAX_VALUE; int p = 0; for (int i = 0; i < nums.length; i++) { if (nums[i] > 0) { nums[p] = nums[i]; nums[i] = 0; p ++; } } } } 이렇게 풀었었는데 nums[i] = 0 때문에 nums[p] 도 0 으로 할당 되더라구요 테스트 케이스로 예를 들면 [1, 2, 3, 0, 0] 일때 [0, 0, 0, 0, 0] 인 결과가 나옵니다. class Solution { public void moveZeroes(int[] nums) { if (nums.length == 1) return; int p = 0; for (int i = 0; i < nums.length; i++) { if (nums[i] != 0) { nums[p] = nums[i]; p ++; } } for (int i = p; i < nums.length; i ++) { nums[i] = 0; } } } 위의 코드와 같이 for loop 을 따로 실행하니까 제가 원하는 값([1, 2, 3, 0, 0])이 나오는데요 왜 이러한 차이가 있을까요? array 를 서로 다른 loop 로 나눈것인데 왜 첫번째 코드에서 같은 loop 안에 있을때 shallow copy 가 발생하고, loop 를 둘로 나누었을때 deep copy 가 일어날까요?? 영상에 이러한 설명이 없어 질문합니다.
강의에 보이는 Samples 창이 내가 쓰는 유니티에서 안보일 때는 아까 초에서 프레임으로 바꾸었던 Animation 창 왼쪽 끝에 있는 "세로 점 3개" 설정을 클릭해 보시면 저기서 Show Sample Rate를 체크해 주시면 이렇게 Sample 창이 보입니다. 혹시 저처럼 Sample 창이 안보이시는 분들이 계실까 싶어 남겨둡니다!
강사님 안녕하세요. Redux 복습하던 중에 불현듯 떠오른 생각이 있어 문의를 남기고 갑니다. Redux Dev Tool 의 경우, 개발 시점에서는 매우 유용한데요.. 이런 기능들은 보안에 취약할 수 있는 부분일 거 같습니다. 물론 상용계에서는 당연히 적용이 되지 않겠지만 이런 Tool 이외에도 혹시 해킹 같은 것을 통해 현재 전역 State 가 노출될 수 있는 것일까요? Redux 의 전역 State 에 중요 정보를 보관해도 되는 지 궁금합니다.
VSC 사용자는 강사님이 하신 것과 똑같이 따라하신 후 (원하는 경로에서) 터미널 창에서 그냥 code 라고만 입력하면 됩니다. 그럼 아나콘다 가상환경과 바인딩도 되고 이후 실습도 진행할 수 있습니다. 처음에 습관처럼 code . 으로 실행시키면 루트 폴더에서 VSC가 실행되어 거의 컴퓨터 전체 파일이 로드되어 CPU 로드가 100%가 됩니다. 위 상황을 피하고자 다른 경로에 폴더 만들어서 코딩해봤자 바인딩 안되서 안됩니다. 따라서 그냥 강사님과 똑같이 따라한 후 아톰 실행 시킬 때 VSC 유저는 터미널에서 code 만 입력하면 강좌랑 똑 같이 됩니다.