묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결웹 게임을 만들며 배우는 React
안녕하세요! 질문드립니다.
자식 컴포넌트가 모두 PureComponent or memo를 사용할 경우 부모 컴포넌트도 사용할 수 있는 것으로 이해하였는데요, 자식 컴포넌트가 2레벨 이상(부모,자식,손자,..) 있을 경우 중간에 있는 하나의 자식 컴포넌트만 Component+shod...로 변경하거나 memo를 제거하는 경우 연결되어 있는 모든 컴포넌트도 다 수정해주어야 하는 것일까요?? 강의는 항상 잘보고있습니다 감사합니다 ㅎㅎ
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문이 있어요 선생님!
선생님, 안녕하세요? 저는 dfs를 통해서 조합을 각각 만들어내고, (x좌표,y좌표,움직인횟수) 그 조합을 대하여 큐에 넣어준 이후 dfs를 돌렸습니다. 큐에서는 fcfs로 어차피 1을 먼저 만나게 되는 정보로 방문처리해주면 그 #include<iostream> #include<queue> #include<math.h> #include<algorithm> using namespace std; int map[51][51]; bool visited[51][51]; int N, M; int dx[4] = { 1,-1,0,0 }; int dy[4] = { 0,0,1,-1 }; typedef struct node { int x; int y; int cnt = 0; }Node; queue<Node>Q; Node piz[2501]; int pcnt = 0; int pizza[2501]; int flag = 0; int mini = 10000; void BFS() { int cres = 0; Node current; while (!Q.empty()) { current.x = Q.front().x; current.y = Q.front().y; current.cnt = Q.front().cnt; Q.pop(); //printf("current x : %d y : %d cnt : %d\n\n", current.x, current.y, current.cnt); if (map[current.x][current.y] == 1) { cres += current.cnt; //printf("cres : %d \n\n", cres); } else { for (int i = 0; i < 4; i++) { int x = current.x + dx[i]; int y = current.y + dy[i]; int c = current.cnt + 1; if (x >= 1 && y >= 1 && x <= N && y <= N && !visited[x][y] && map[x][y] == 1) { visited[x][y] = true; Node next; next.x = x; next.y = y; next.cnt = c; //printf("next x : %d y :%d cnt : %d\n\n", next.x, next.y, next.cnt); Q.push(next); } if (x >= 1 && y >= 1 && x <= N && y <= N && !visited[x][y] && map[x][y] == 2) { visited[x][y] = true; Node next; next.x = x; next.y = y; next.cnt = c; //printf("next x : %d y :%d cnt : %d\n\n", next.x, next.y, next.cnt); Q.push(next); } if (x >= 1 && y >= 1 && x <= N && y <= N && !visited[x][y] && map[x][y] == 0) { visited[x][y] = true; Node next; next.x = x; next.y = y; next.cnt = c; //printf("next x : %d y :%d cnt : %d\n\n", next.x, next.y, next.cnt); Q.push(next); } } } } if (mini > cres) { mini = cres; } for (int i = 1; i <= N; i++) { for (int j = 1; j <= N; j++) { visited[i][j] = false; } } } void DFS(int start, int level) { if (level == M) { //printf("<<<start>>>\n\n"); for (int i = 0; i < M; i++) { visited[piz[pizza[i]].x][piz[pizza[i]].y] = true; //printf("x : %d y : %d \n\n", piz[pizza[i]].x, piz[pizza[i]].y); Q.push(piz[pizza[i]]); } BFS(); } else { for (int i = start; i < pcnt; i++) { pizza[level] = i; DFS(i + 1, level + 1); } } } int main() { ios_base::sync_with_stdio(false); cin >> N >> M; for (int i = 1; i <= N; i++) { for (int j = 1; j <= N; j++) { int input; cin >> input; map[i][j] = input; if (input == 2) { Node start; start.x = i; start.y = j; start.cnt = 0; piz[pcnt++] = start; } } } DFS(0, 0); printf("%d", mini); } 이후 중복의 여지도 없을 것이라 생각했구요, 아무튼 1을 만나게 되면 그 때의 이동값을 누적하는 방식으로 해결했씁니다. 아마 이거 백준에 비슷한 문제있었던 거같은데요 이 문제에서는 3번 케이스에서 유일하게 시간 초과가 나는군요ㅜㅜㅜㅜ 어떤 점이 문제일 지 궁금합니다 선생님.ㅜㅜ!
-
미해결실전! 스프링 데이터 JPA
EntityGraph 메서드 이름으로 쿼리 생성 질문
안녕하세요! 복습하다가 조금 의아한 부분이 있어서 질문드립니다. 19:20 초 메서드 이름으로 쿼리 생성에 페치 조인을 시켜주기 위해 @EntityGraph를 붙여주신 부분에서 질문입니다. 여기서 파라미터에 @Param을 붙여주는 이유가 뭔가요? @Param은 @Query방식에서 파라미터 바인딩하려고 사용했는데 메서드 이름으로 쿼리 생성해주는 경우에는 사용할 필요가 없는게 아닌가 해서 질문드립니다. 만약 여기서 @Param을 붙여줘야 하는게 맞다면 메서드 이름으로 쿼리 생성에서 설명해주셨던 List<Member> findByUsernameAndAgeGreaterThan(String username, int age); 에서는 @Param을 붙이지 않으셨는데 어떤게 맞는 걸까요?
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
closure_ex2()의 에러 문의
안녕하세요, 수업 잘 듣고 있는 수강생 중 하나 입니다. closure_ex2()에서 발생한 nonlocal 없음으로 인한 에러를 보고 몇가지 테스트를 해보고 제가 이해한 바가 맞는 건지 문의드립니다. 상위함수의 free variable region에서 cnt의 id 값을 print해보고, 내부함수 내용을 모두 지우고 cnt의 id를 print 해보니 free variable region의 cnt와 동일한 id 값을 확인할 수 있었습니다. 마치, 자바스크립트의 런타임 전에 변수가 먼저 선언된 후 런타임에서 변수에 값이 할당되는 것과 메커니즘이 같다는 생각이 들었습니다. 그래서 내부 함수에서 cnt = 3으로 할당한 후 id 값을 print 해보니 그때에는 free variable region과는 다른 id값이었습니다. 다른 질문의 답변에서 mutable과 immutable의 차이 때문이라고 하신 것보다 좀 더 깊게 이해하자면 스코프와 변수의 선언과 할당의 다른 시점에 의해 발생한 에러라고 생각이 됩니다. 내부함수에서 (cnt = cnt + 1 또는 cnt += 1 )라고 쓴 부분에서 cnt라는 변수가 런타임 이전에 선언되고 런타임에서 cnt + 1 을 수행하는데 선언만 되고 할당이 안되어 있기 때문에 reference error가 발생했다고 생각이 되는데요. 제가 이해한 바가 맞는지요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
@Managers가 2개 이상 있으면 어떻게 되는건가요?
안녕하세요 강의 너무 재밌습니다.! 그런데 하이어라키에서 오브젝트 이름을 바꾸어보니, 오브젝트의 이름이 중복되는 것에 제한이 없는 것 같은데, 같은 이름의 오브젝트가 2개 이상 있으면 GameObject.Find("")는 어떻게 작동하는건가요?
-
미해결야곰의 iOS 프로그래밍
제공된 코드블럭 파일
제공된 코드블럭 파일이 6-3-8까지만 작성이 되어있고 6-3-9부터는 없어요
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
프로그램
저는 기본적으로 jdk와 이클립스, 톰캣, 오라클 11g가 설치되어 있는데 이 프로그램으로 해도 수업을 할 수 있는지 궁금합니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
while문 하나만 사용해서 구현해보았는데 검수 부탁드립니다!
<html> <head> <meta charset="UTF-8"> <title>출력결과</title> </head> <body> <script> function solution(m, arr) { let answer = 0; let sum = 0; let li = 0; let ri = 0; while (true) { if (sum < m) { sum += arr[ri]; ri++; } else { sum -= arr[li]; li++; } if (sum === m) { answer++; } // ri가 arr.length 이상이고, sum이 m보다 작아지면 반복문 종료 if (ri >= arr.length && sum < m) break; } /**/ return answer; } console.log(solution(6, [1, 2, 1, 3, 1, 1, 1, 2])); console.log(solution(6, [1, 1, 1, 2, 4])); console.log(solution(2, [1, 1, 1])); </script> </body> </html> 안녕하세요, 선생님! 강의 잘 듣고 있습니다. while문 하나만 이용하여 O(n)으로 구현해보았는데 오류가 있는지 확인해주시면 감사드리겠습니다!
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문있습니다.
선생님, 안녕하세요 선생님께서는 dp배열갱신하실 때 주어진 높이와 너비에서부터 시작을 하셨는데 저와 같은 경우는 i=1 j=1 즉 1,1시작점에서부터 시작을 하되 i+h가 H를 넘어서지 않고 j+w가 W를 넘어서지 않는 조건, 그리고 i-1>=1 j-1>W인 조건 이 두 조건을 충족하는 범위 내에서만 dp를 갱신하도록 해줬는데요 이게 선생님 방식보다 어떤 면에서 비효율인지 궁금합니다. 심지어 case 2는 틀렸다고 나오네요ㅜㅜㅜㅜ문제가 뭘까요? #include<iostream> #include<stdio.h> #include<queue> #include<vector> using namespace std; int H, W; int map[701][701]; int dp[701][701]; int dp2[701][701]; bool visited[701][701]; int h, w; int main() { cin >> H >> W; for (int i = 1; i <= H; i++) { for (int j = 1; j <= W; j++) { cin >> map[i][j]; } } cin >> h >> w; dp[1][1] = map[1][1]; for (int i = 2; i <= H; i++) { dp[i][1] = dp[i - 1][1] + map[i][1]; } for (int i = 2; i <= W; i++) { dp[1][i] = dp[1][i - 1] + map[1][i]; } /*printf("\n"); for (int i = 1; i <= H; i++) { for (int j = 1; j <= W; j++) { printf("%d ", dp[i][j]); } printf("\n"); }*/ for (int i = 2; i <= H; i++) { for (int j = 2; j <= W; j++) { dp[i][j] = map[i][j] + (dp[i][j - 1] + dp[i - 1][j]) - dp[i - 1][j - 1]; } } //printf("\n"); //for (int i = 1; i <= H; i++) { // for (int j = 1; j <= W; j++) { // printf("%d ", dp[i][j]); // } // printf("\n"); //} //printf("\n"); ////이 부분이 질문입니다!!!!!/////// int ans = -1; for (int i = 1; i <= H; i++) { for (int j = 1; j <= W; j++) { if (i + h <= H && i + w <= W && i - 1 >= 1 && j - 1 >= 1) { dp2[i][j] = dp[i + h - 1][j + w - 1] + dp[i - 1][j - 1] - dp[i - 1][j + w - 1] - dp[i + h - 1][j - 1]; if (ans < dp2[i][j]) { ans = dp2[i][j]; } } else { continue; } } } printf("%d", ans); }
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Singleton 패턴 관련 문의
안녕하세요. 강의 잘 듣고 있습니다. 제가 Singleton 패턴을 잘 이해한 것인지 헷갈려서.. 아래와 같이 메모해 두었는데 제대로 이해한 것일까요? //그러니까 // Manager s_instance = new Manager(); 이게 안되니까 // go라는 GameObject를 만들어 @Managers 라는 GameObject를 생성해 집어넣던지 있으면 찾아넣던지 하고 // @Managers에 Managers클래스(스크립트)를 컴포넌트로 같다붙인 뒤 // Managers 클래스의 static instance인 s_instance에다가 // @Manager라는 GameObject에 붙어있는 컴포넌트 -> Managers 클래스를 집어넣음으로써 // 결과적으로 Managers의 static instance인 s_instance에다가 // Managers 를 갖다넣음 즉 Manager s_instance = new Manager(); 이거를 // @Managers 라는 GameObject라는 애를 통해서 우회적으로 한 것임. 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
톰캣서버가 정상적으로 작동하지않습니다
위사진과 같이 실습에 문제가 생겨 질문드립니다 갑자기 뷰템플릿을 이용한 실습도중 문제가발생하였고 그전에는 원활히 서버가 돌아갔었습니다
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
질문있습니다
print((3>0) & (3>2)) true print(3>0 & 3>2) false 이렇게 나오는데 차이가 뭔지 알 수 있을까요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
Ai 비전 오픈소스 관련 질문사항
안녕하세요! 저는 Ai 비전을 비즈니스에 활용하기 위해서 강의를 듣고 있습니다. Ai 학습을 위해서 비즈니스 정보가 담긴 데이터들을 넣고 학습을 하게 될텐데요... 혹시...ai 비전 관련 오픈소스를 사용할때 제가 사용하는 학습 데이터들에 대한 정보가 외부로 유출될 가능성은 없는지...그 점이 궁금합니다...
-
미해결실전 프로젝트로 배우는 타입스크립트
인터페이스로 배열 타입을 선언 할 수 없다고 하셨는데, 그럼 이건 잘못된 문법일까요?
```` function fetchCountryInfo(countryCode: string, status: CovidStatus): Promise<AxiosResponse<CountrySummaryInfo[]>> { // params: confirmed, recovered, deaths const url = `https://api.covid19api.com/country/${countryCode}/status/${status}` return axios.get(url) } ```` CountrySummaryInfo[] 잘못된 문법인가요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
postman 질문드립니다.
#7 강의 내용 11:00 초 부터 하는 호스트잡고 send 할 시 success가 뜨는게 아니라 아래 그림 처럼 err가 뜹니다.
-
미해결Node.js에 TypeScript 적용하기(feat. NodeBird)
기존 라이브러리의 타입과 새로 만든 타입이 충돌할 때 해결방법이 궁금합니다!
제로초님 안녕하세요? 강의 들은 내용을 응용해 다른 라이브러리의 타입을 수정하려고 하는데 타입 충돌이 발생해서 조언을 구합니다. native-base라는 라이브러리의 Accordion 컴포넌트의 속성 중 expanded의 타입을 number에서 number[ ]로 바꾸고 싶어서 수정하고 싶은 부분을 src/@types/index.d.ts에 다음과 같이 만들고 export {}; declare module 'native-base' { export interface Accordion extends Testable { dataArray: Array<any>; headerStyle?: RnViewStyleProp; contentStyle?: RnViewStyleProp; renderHeader?: (item: any, expanded: boolean, index: number) => React.ReactElement<any>; renderContent?: (item: any, index: number) => React.ReactElement<any>; expanded?: number[]; //기존 number를 number[]로 수정함 icon?: string; expandedIcon?: string; iconStyle?: RnTextStyleProp; expandedIconStyle?: RnTextStyleProp; style?: RnViewStyleProp; } } tsconfig.json의 "typeRoots":["./src/@types/index.d.ts"] 을 설정하여 새로 만든 타입을 인식하는 데까지는 성공했습니다. 그런데 기존 node_modules/native-base에 있는 index.d.ts를 먼저 인식해 수정한 타입이 적용되지 않습니다. node_modules에 있는 native-base의 index.d.ts를 지우지 않으면 안되는 걸까요? 기존 라이브러리의 타입을 수정하고 싶을 때 이런 경우는 어떻게 해야할지 감이 안와서요ㅜㅜ 조언 부탁드립니다~
-
미해결Vue.js 시작하기 - Age of Vue.js
scf 작동이 안됩니다.
컴포넌트 만들때 scf가 자체 내장된 게 아닌가요? 따로 다운로드를 받아야 되는게 있나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 매핑 질문 드립니다.
class Item( id: Long, orderId: String,) { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) val id: Long = id var orderId: String = orderId @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "shipping_id") var shipping: Shipping? = null} @Entityclass Shipping() { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) val id: Long = id @Embedded var trackingInformation: TrackingInformation? = null @OneToMany(mappedBy = "shipping", cascade = [CascadeType.ALL], fetch = FetchType.LAZY) var items: MutableList<Item> = mutableListOf() fun updateTrackingInformation(trackingInformation: TrackingInformation) { this.trackingInformation = trackingInformation }} // 위처럼 양방향 연관관계를 맺었는데// 이것도 되고 class Facade( private val shippingService: ShippingService, private val itemService: ItemService,) { fun getResult(pipeline: String) { val shipping = shippingService.getShippings(listOf("0000000003")).first() shipping.items.first().setOrderId("test") shippingService.save(shipping) }}// 이것도 됩니다. class Facade( private val shippingService: ShippingService, private val itemService: ItemService,) { fun getResult(pipeline: String) { val item = itemService.getItemByKitSlug(result.kitSlug) item.shipping.updateTrackingInformation(trackingInformation) itemService.save(item) }}mappedBy로 된 shipping.items 필드로 접근하면 insert, update가 안될 거라고 생각했는데 둘다 변경이 되어서 질문드립니다.제가 어떤 점을 놓치고 있는 걸까요?
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이
4set 2번 문제
안녕하세요. 아래 쿼리와 같이 SUM(CASE WHEN Status != 'completed'가 아닌 SUM(CASE WHEN Status = 'cancelled_by_driver ' 를 하면 틀린 답이라고 나옵니다. 같은 내용인거 같은데 왜 틀린지를 모르겠네요 ㅠ 확인해 주시면 감사하겠습니다. SELECT Day, ROUND(rate/total,2) AS `Cancellation Rate` FROM ( SELECT a.Request_at AS Day , SUM(CASE WHEN Status = 'cancelled_by_driver ' THEN 1 ELSE 0 END) AS rate , COUNT(*) as total FROM Trips a INNER JOIN Users uc ON a.Client_Id = uc.Users_Id INNER JOIN Users ud ON a.Driver_Id = ud.Users_Id WHERE a.Request_at BETWEEN '2013-10-01' AND '2013-10-03' AND uc.Banned = 'No' AND ud.Banned = 'No' GROUP BY 1 ) t
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
GUI 창 에러
테스트 코드 작성 시 아래와 같이 작성했는데 GUI창이 안뜨네요.. 기존에 질문글 보면서도 따라했는데 안뜨네요 ㅜ 확인 부탁드립니다.