반복문을 통해서 해당 지역을 방문하지 않았으면 BFS를 실행 BFS를 통해 해당 노드와 가장 멀리 떨어진 노드위치를 가져온다. 가장 멀리 떨어진 노드 기준으로 다시 BFS 수행 그러면 해당 그래프에서 가장 멀리 떨어진 두 지점을 구할수 있게 코드를 작성했습니다. 외부에서 중복 방문을 막기위해 visited 변수를 BFS에서 해당 노드들을 순회할때 ture로 설정해 외부 에서 접근하지 못하게 막고 내부에서는 cost를 통해 중복방문을 막도록 설계했습니다. 가장 멀리 떨어진 두 지점을 구하는 로직을 푸는 DFS,BFS문제를 푼 기억이 있어 그걸 토대로 여기다가 응용을 했는데 막상 제출하니까 틀리네요. http://boj.kr/9542447ec9494e75935435c21eeda485
안녕하세요. EDA 단계에서 수치형컬럼들의 기초통계량을 해보니 SeniorCitizen이 0과 1로 나뉘어있는거 같아 변수 확인 후, 해당 컬럼을 범주형으로 변환 후, 작업하였는데 이렇게 변경하여 작업해도 괜찮을까요 ? 범주형으로 변경 후, 작업하였을 때 # 원핫인코딩 : 946.3475544795037 946.7024808036148 # 레이블인코딩 : 951.0960435538027 952.7925407798712 다음과 같이 결과 값이 나왔습니다. 감사합니다 :)
강의 잘 듣고 있습니다. 다름이 아니라, forget-password 로 정상적으로 처리가 되었다고 하는데요. 그러나, 등록해 둔 이메일로 reset password 메일이 오지 않네요. 혹시 Supabase 셋팅에서 어떤 부분을 확인해야 할까요? 검색을 해보니 이렇게 셋팅하라고 해서 한 상태입니다 답변 부탁드립니다.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
flutter pub run build_runner build Deprecated. Use dart run instead. Building package executable... (1.6s) Built build_runner:build_runner. Built with build_runner/jit in 0s; wrote 0 outputs. 수정 방법을 부탁드립니다?
안녕하세요 여러분, 오늘은 AWS 공인 클라우드 전문가(AWS Certified Cloud Practitioner) 시험 준비에 대해 몇 가지 생각을 공유하고 싶습니다. 특히 어디서부터 시작해야 할지 모르는 초보자들에게 이 자격증은 AWS 서비스의 기본 개념, 요금제 모델, 보안 원칙 등을 이해하기에 아주 좋은 출발점입니다. 제가 공부를 시작했을 때, 온라인에는 정말 다양한 자료들이 있었습니다. 공식 AWS 자료부터 커뮤니티에서 제작한 콘텐츠까지요. 그중에서도 AWS 스킬 빌더 플랫폼 과 “Overview of AWS” , “Well-Architected Framework” 같은 백서가 매우 유용했습니다. 이 자료들은 무료이며, 시험에서 다루는 주요 주제와 직접적으로 연결되어 있습니다. 또한 인터넷 상에서 AWS 공인 클라우드 전문가 덤프 관련 논의도 많이 보았습니다. 이러한 자료들은 시험에 어떤 유형의 질문이 나오는지 이해하는 데 도움이 될 수 있지만, 반드시 윤리적이고 신중하게 사용해야 합니다. 단순히 답을 외우는 것이 아니라, 각 답이 왜 정답인지 이해하는 것이 진짜 목표입니다. 제 경험상 가장 효과적인 학습 방법은 공식 학습 경로, 연습 시험, 그리고 일부 샘플 문제를 결합하여 실제 개념을 이해하는 것 입니다. EC2, S3, IAM, 요금제 모델 등 핵심 AWS 개념에 익숙해지면 시험이 훨씬 수월하게 느껴질 것입니다. 여러분은 어떤 학습 방법이 가장 효과적이었나요? 공식 자료를 더 많이 활용하셨나요, 아니면 커뮤니티 자료를 사용하셨나요?
# your code import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p1/members.csv") cols1 = df.columns[df.isnull().sum() >= len(df) * 0.3] df = df.dropna(subset=cols1) cols2 = df.columns[(df.isnull().sum() < len(df) * 0.3) & (df.isnull().sum() >= len(df) * 0.2)] for col in cols2: df[col] = df[col].fillna(df[col].mode()[0]) print(sum(df['f3'] == 'gold')) 문제에서 결측치가 30% 이상인 컬럼을 찾으라 했는데, 저는 이렇게 조건에 해당하는 컬럼들을 리스트 형태로 구해서 subset에 넘겨주었는데, 선생님 풀이를 보니 subset=['f1'] 이런 식으로 조건에 해당하는 컬럼의 이름을 직접 명시하셨더라구요..! 이런 문제를 풀 때 조건문을 이용해서 조건에 해당하는 컬럼들을 일괄적으로 선택할 필요는 없나요? 제가 아직 이 시험의 문제 유형을 잘 파악하지 못했는데, 이 시험이 혹시 코딩테스트를 예로 들면 "2+3의 값을 출력하시오" 라는 문제의 답을 print(2+3)이 아닌 print(5)로 써도 답은 맞으니 정답 처리가 되는 방식인가요? 감사합니다.
안녕하세요. Child()에 명시적으로 부모 생성자를 호출하는 문구가 있어서 [Parent: 5 [Parent default 가 호출되는 것 이해했습니다. 그럼 Child(){ 안에 super()가 없고, this.display()부터 시작하는 상태라도 출력값은 동일한가요? 자식 생성자 생성 전에 부모 생성자 먼저 생성돼야 하고, 부모 클래스에 기본 생성자가 정의되어 있으니까요. 감사합니다.
staleTime 을 5초로 설정하고 slow4G 로 설정한 다음 /todos/1 페이지 에서 새로고침을 했는데 로딩중입니다.. 가 아니라 오류가 발생했습니다. 가 잠깐 나오고 페이지가 정상적으로 랜더링 되어서 아래와 같이 error 조건문을 수정하고 data?.content 로 바꾸니까 강사님께서 알려주신대로 로딩중입니다.. 가 잠깐 나오고 페이지가 정상적으로 랜더링 됩니다. 혹시 이렇게 해도 상관이 없는건지 여쭤봅니다
관련 챕터: Zustand 기본 사용법 2 질문 관련 부분: 4:34 ~ 6:20 질문 내용: 역할에 따라 컴포넌트를 분리하는 과정에서, count 값 변경 시 Controller 컴포넌트까지 리렌더링되는 이유에 대해 설명해주셨는데요. 제가 맞게 이해했는지 헷갈려서 질문 드립니다. count 값이 바뀔 때마다 Viewer , Controller 컴포넌트가 동시에 리렌더링된다. 버튼 태그를 포함하는 Controller 컴포넌트까지 리렌더링되는 이유는 1. Zustand는 store 안의 state 가 바뀌면 store 를 가져다 쓴 모든 컴포넌트가 다시 그 state 값을 반영하도록 리렌더링된다. 2. Controller 는 구조분해 할당으로 increase , decrease 만 쓴다고 해도, 훅이 반환한 객체 안에 count 도 포함돼 있으므로 count 가 바뀌면 Controller 도 리렌더링된다. 제가 맞게 이해한 걸까요?
%pip install -U langchain langchainhub --quiet from langchain import hub prompt = hub.pull("rlm/rag-prompt") 안녕하세요! 강의에서처럼 hub를 임포트 하기 위해서 이렇게 했는데, 아래와 같은 에러가 뜹니다. --------------------------------------------------------------------------- ImportError Traceback (most recent call last) Cell In[47], line 1 ----> 1 from langchain import hub 3 prompt = hub.pull("rlm/rag-prompt") ImportError: cannot import name 'hub' from 'langchain' (/home/Dev/llm-app/llm-app/lib/python3.10/site-packages/langchain/__init__.py) from langchainhub import hub로도 해보았는데 안되고 검색해도 잘 안나와서 질문 남깁니다ㅠㅠ
안녕하세요 선생님 해당 문제에 대해 선생님의 코드와 제가 스스로 풀어서 맞힌 코드에 대해 질문 있어 작성합니다. 먼저 선생님 코드에서 선생님의 로직을 정리하면 아래와 같이 된다고 생각하는데 맞는지 여쭤봅니다. (선생님 코드 링크) http://boj.kr/2812582f10eb41dfa63761279266e42f /* 선생님 로직에서> !visited[][] && !a[][] => 안전영역 !visited[][] && a[][]==1 => 벽이 있어서 접근 불가 영역 (continue로 처리, 즉 벽이 있는 영역은 visited[][]가 1로 set될 수 없음) !visited[][] && a[][]==2 => 원래부터 바이러스가 있는 영역 (visited[][]==1로 set) visited[][] && !a[][] => 바이러스가 퍼지는 영역(visited[][]==1로 set) visited[][] && a[][]==1 => 이런 경우는 발생하지 않음 visited[][] && a[][]==2 => 원래부터 바이러스가 있는 영역인데 이미 방문한 영역(cotinue로 처리) */ 제가 스스로 풀어서 맞춘 코드에 대해 논리적으로 완벽한게 맞는지 코드 리뷰를 부탁드립니다. 제가 생각했을 때 저는 visited 배열과 a배열을 사용하신 선생님과 달리 g배열 하나를 사용하여 g배열의 값(0,1,2)에 따라 각 영역을 구분하여 풀었는데요. 백준에서 채점한 결과 문제를 맞췄다고 나왔는데 혹 제가 불필요한 부분을 중복 체크하는 논리적인 오류가 있는지 헷갈려 선생님께 질문드립니다. (제 코드 링크) http://boj.kr/f2b1836ef32f4c1b8c06ad497201d99b 제가 백준 제출시에는 주석을 다 빼고 코드를 붙여 넣어 코드 파악에 더 용이하도록 아래는 주석을 붙인 코드도 첨부합니다. 감사합니다. #include <bits/stdc++.h> using namespace std; int n, m; // 세로, 가로 int safe_size; // 안전 영역 크기 int g[10][10]; vector<pair<int, int>> combi; const int dy[] = {-1, 0, 1, 0}; const int dx[] = {0, 1, 0, -1}; void virus_spread(int gp[][10], int a, int b){ for(int i=0; i<4; i++){ int ny = a + dy[i]; int nx = b + dx[i]; // graph 범위를 초과할 때 if(ny<0 || nx<0 || ny>=n || nx>=m) continue; // gp[ny][nx]==1 벽이거나 gp[ny][nx]==2 이미 바이러스가 있을 때 if(gp[ny][nx]) continue; // gp[ny][nx]==0 빈 칸 일때 gp[ny][nx] = 2; virus_spread(gp, ny, nx); } } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> m; for(int i=0; i<n; i++){ for(int j=0; j<m; j++){ cin >> g[i][j]; // 벽을 세울 수 있는 후보 좌표 따로 저장하기 if (!g[i][j]) combi.push_back({i, j}); } } size_t c = combi.size(); for(size_t i=0; i<c; i++){ for(size_t j=i+1; j<c; j++){ for(size_t k=j+1; k<c; k++){ // cout >> i >> " " >> j >> " " >> k >> "\n"; pair<int, int> p1 = combi[i]; pair<int, int> p2 = combi[j]; pair<int, int> p3 = combi[k]; // 3개의 벽 세우기 g[p1.first][p1.second] = 1; g[p2.first][p2.second] = 1; g[p3.first][p3.second] = 1; // 바이러스 퍼뜨리기 int dup_g[10][10]; copy(&g[0][0], &g[0][0]+100, &dup_g[0][0]); for(int a=0; a<n; a++){ for(int b=0; b<m; b++){ // 바이러스가 있는 칸이면 spread virus if(dup_g[a][b]==2) virus_spread(dup_g, a, b); } } // 안전영역크기 카운트 int count_safe=0; for(int a=0; a<n; a++){ for(int b=0; b<m; b++){ if(!dup_g[a][b]) count_safe++; } } // 최대안전영역크기 갱신 safe_size = max(safe_size, count_safe); // graph 초기화 g[p1.first][p1.second] = 0; g[p2.first][p2.second] = 0; g[p3.first][p3.second] = 0; } } } cout << safe_size << "\n"; return 0; }
수업과 관련한 내용을 편하게 질문 바랍니다 😀 [특정 필드 기준 데이터 조인] 바탕 레이어와 데이터 결합 시 기준이 필드의 피쳐들 중, 바탕이 되는 레이어의 필드 값과 일치하는 값이 없는 결합 레이어의 피쳐는 데이터 조인 후, 바탕 레이어의 속성테이블 확인 시 생략되고 결합 레이어의 기준 필드 내에서 바탕 레이어와 일치하는 값의 피쳐들만 바탕 레이어의 속성테이블에 나타나나요?