묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 코딩테스트 - it 대기업 유제
잃어버린 강아지 질문드립니다.
초기에 현수 위치와 강아지 위치를 큐에 넣어주고 탐색했는데, 큐에 넣고 탐색하면 안되는건가요??? import java.io.*;import java.util.*;class Node { int x; int y; Node(int x,int y){ this.x=x; this.y=y; }} public class Main { public int solution(int[][] board){ int[] dx = {-1, 0, 1, 0}; int[] dy = {0, 1, 0, -1}; int n =board.length; int m=board[0].length; int d1=0, d2=0; Queue<Node> huyn = new LinkedList<>(); Queue<Node> dog = new LinkedList<>(); for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { if(board[i][j]==2) { huyn.add(new Node(i,j)); } if(board[i][j]==3) { dog.add(new Node(i,j)); } } } int time=0; while(time<10000) { time++; boolean flag1=true, flag2=true; Node ddog = dog.poll(); Node h = huyn.poll(); int nxh = h.x+dx[d1]; //현수의 다음 노드 int nyh = h.y+dy[d1]; int dogx = ddog.x+dx[d2]; int dogy = ddog.y+dy[d2]; if(nxh<0 || nyh<0 || nxh>=n || nyh>=m || board[nxh][nyh]==1) { d1 = (d1+1)%4; flag1 = false; } if(dogx<0 || dogy<0 || dogx>=n || dogy>=m || board[dogx][dogy]==1) { d2 = (d2+1)%4; flag2 = false; } if(flag1) { huyn.add(new Node(nxh,nyh)); } if(flag2) { dog.add(new Node(dogx, dogy)); } if(nxh==dogx && nyh==dogy) { return time; } } return 0; } public static void main(String[] args){ Main T = new Main(); int[][] arr1 = { {0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 2, 0, 0}, {1, 0, 0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 3, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 1, 0, 1, 0, 0, 0, 0, 0, 0} }; System.out.println(T.solution(arr1)); int[][] arr2 = { {1, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {1, 0, 0, 0, 0, 0, 1, 0, 1, 0}, {0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 2, 1}, {0, 0, 0, 1, 0, 1, 0, 0, 0, 1}, {0, 1, 0, 1, 0, 0, 0, 0, 0, 3} }; System.out.println(T.solution(arr2)); } }
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
zip은 어디서 가져오나요?
6학년에 코딩을 하여 부족한점이 많아zip이라는 파일를 어디서 가져오는지 알수가없어서 알려주시면 감사할실 것 같습니다.
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
강의중에 보이는 용어 정리된 사이트
강의중에 강사님이 밑줄 그으시면서 보시는 사이트 이름은 무엇인가여? props면 props 양방향 바인딩 ~~~~ 단반향바인딩 이렇게 정리된 사이트요 위에 breadcrumb에 날개달기라고 적혀잇어요
-
미해결더 개발자, 인터뷰 가이드
코딩인터뷰 때 손코딩, 화이트보드에 코딩시키는 이유가 있나요?
컴퓨터로 온라인 코딩 플랫폼에서나 IDE로 코딩인터뷰를 진행하지 않고 손코딩, 화이트보드에서 코딩 인터뷰를 진행하는 이유가 있나요?
-
미해결실전! Querydsl
Page 대신 별도로 구현한 객체를 넘겨주고 있는데 문제가 되는 부분이 있을까요?
안녕하세요~page number가 0부터 시작하는 부분과 Page 자체에 너무 많은 정보가 있는 것 같아 필요한 값만 정의해둔 Dto를 response로 반환해주고 있습니다. (request도 별도로 정의한 dto 객체로 받고 있습니다.)그런데 강의에서 Page 자체를 Response로 반환해주는 것을 보고 현재 제가 하고 있는 방식대로 하면 문제가 될 부분이 있을 지 걱정이 되더라구요..혹시 주의해야하는 부분이 있을지, 이렇게 별도의 객체로 가공해서 넘겨줘도 문제가 없을지 걱정되어 질문드립니다. 😭감사합니다.
-
미해결실전! Querydsl
혹시 join 자체도 특정 조건에 따라 동적으로 작용되게 할 수 있나요?
안녕하세요.where 조건을 동적으로 생성해주는 부분에 대해서는 충분히 이해가 되었습니다.그런데 혹시 특정 condition 값에 따라 join을 해줘야하는 테이블이 다른 경우라면 어떻게 처리되어야 할지 모르겠어서 글을 남기게 되었습니다.condition조건에 teamName이 있을 때만 team을 조인해주고 싶은데 join 구문을 동적으로 처리할 수 있는 좋은 방법이 어떤 것인지 질문드립니다. 😭감사합니다.
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
디스코드 채널 초대 수락이 안됩니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 디스코드 채널 초대 수락하기 클릭 시, "초대를 수락할 수 없음" 이라고 표시됩니다 ㅜㅜ왜 이런지 알 수 있을까요? 사용자명은 이찬효#0400 입니다.
-
해결됨스프링 핵심 원리 - 기본편
싱글톤 문제점: DIP 위반
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]제목의 키워드에 관한 질문글들을 읽으면서 의문이 생겨 질문드립니다. 먼저 제가 질문글들을 읽고 이해하고있는 내용은 다음과 같습니다.싱글톤을 사용한다하여 무조건 DIP를 위반하는 것이 아니다. AppConfig를 사용하면 DIP위반을 피할 수 있다. 즉, 클라이언트에서 getInstance로 싱글톤 객체를 직접 참조하는 것이 아닌, 외부에서 getInstance로 반환된 싱글톤 객체를 의존성 주입을 받아 사용하면 DIP를 준수 할 수 있다.그런데 이렇게 이해를 하니 DIP를 위반하는 것은 싱글톤을 사용함에 따라 생기는 문제가 아닌 의존성주입을 사용하지 않음에 따라 생기는 문제인것 같다는 의문이 생깁니다."의존관계상 클라이언트가 구체 클래스에 의존한다"라고 되어있는데, 기존에 역할에만 잘 의존하고 있던 클라이언트가 구현체가 싱글톤으로 바뀜에 따라 역할이 아닌 구체에 의존해야만하는 강제적인 상황이 발생하는 경우가 존재하는건가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
TryPop 에서 exchange(nullptr) 을 쓰면 버그가 나는 이유가 궁금합니다.
안녕하세요! 강의 너무너무 잘 듣고 있습니다!!LockFreeQueue 완성 후, 1Push 2Pop 테스트는 잘 동작했으나, 2Push 2Pop 테스트부터 크래시가 났습니다.강의를 계속 돌려봐도 코드는 다른 것이 없었는데, 수업 자료에 첨부해주신 코드를 보니까 주석으로 exchange 를 사용하면 버그가 있다고 알려주셔서 일단 해결 방법을 확인 했습니다.그런데 문제를 만든 상황이 무엇인지 감이 안오네요.exchange 로 하면 문제가 발생하는 이유가 무엇인지 알 수 있을까요?원인과 문제가 되는 상황 궁금합니다!그리고 이러한 상황에서 어떻게 디버깅을 해야하는지에 대한 조언도 부탁드리고 싶습니다.답변 해주시면 정말 감사하겠습니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
머신러닝 실행 오류(ValueError: Input X contains NaN.) 질문드립니다
안녕하세요. 동영상대로 따라하다가 에러가 났는데 잘못된 부분을 찾지 못해 질문드립니다 ㅠㅠ[고/저소득을 0또는 1로 분류할 때]저는 x,y,test로 3개 데이터를 불러온 후->전처리->피처엔지니어링까지 했고 inty=(y['income']=='>50K').astype(int) from sklearn.model_selection import train_test_split x_tr, x_val, y_tr, y_val= train_test_split(x, inty, test_size=0.1, random_state=100) x_tr.shape, x_val.shape, y_tr.shape, y_val.shape여기서 값이 ((26373, 15), (2931, 15), (26373,), (2931,)) 이렇게 나오면서 정상 실행 됐는데요..from sklearn.ensemble import RandomForestClassifier rf=RandomForestClassifier() rf.fit(x_tr,y_tr) pred=rf.predict(x_val) **여기에서 아래와 같은 오류가 납니다.ㅠㅠ 왜 그런 걸까요ㅠㅠㅠ <ipython-input-112-e7142a22ea96> in <cell line: 3>() 1 from sklearn.ensemble import RandomForestClassifier 2 rf=RandomForestClassifier() ----> 3 rf.fit(x_tr,y_tr) 4 pred=rf.predict(x_val) /usr/local/lib/python3.10/dist-packages/sklearn/utils/validation.py in _assert_all_finite(X, allow_nan, msg_dtype, estimator_name, input_name) 159 "#estimators-that-handle-nan-values" 160 ) --> 161 raise ValueError(msg_err) 162 163 ValueError: Input X contains NaN.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
V1: 엔티티 직접노출 질문입니다.
@JsonIgnore는 양방향 관계의 무한루프를 막기 위해 설정하는 것이고, @GetMapping("/api/v1/orders") public List<Order> ordersV1() { List<Order> all = orderRepository.findAllByString(new OrderSearch()); for (Order order : all) { order.getMember().getName(); order.getDelivery().getAddress(); List<OrderItem> orderItems = order.getOrderItems(); orderItems.forEach(o -> o.getItem().getName()); } return all; }위에 처럼 프록시 초기화(하지만 실제 엔티티의 참조만 가질뿐 객체는 여전히 프록시)를 해주는 이유는 실제 엔티티의 참조를 가지게 하려고 설정하는 것이고,@Bean Hibernate5Module hibernate5Module() { return new Hibernate5Module(); }위에 처럼 Hibernate5Module을 해주는 이유는 프록시 초기화를 해도 객체는 여전히 프록시기 때문에 Json으로 반환할 수 있게 하려는 것이라고 이해했습니다.여기 까지 이해한 부분이 옳게 이해한 것일까요?그리고 마지막으로 @Bean Hibernate5Module hibernate5Module() { Hibernate5Module hibernate5Module = new Hibernate5Module(); // 강제 지연 로딩 설정 hibernate5Module.configure(Hibernate5Module.Feature.FORCE_LAZY_LOADING, true); return new Hibernate5Module(); }위에 처럼 강제 지연 로딩 설정을 왜 쓰는지는 잘 모르겠습니다.강제 지연 로딩 설정이라는 말이 무엇인가요!?혹시 하이버네이트가 @ToOne은 기본이 eager인데 엔티티에서 직접 lazy 설정해준걸 안해도 된다는 소리인가요? 질문이 크게 숫자로 표시한 두가지 입니다! 감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 빅데이터 분석기사 2회 실기 질문
df = pd.concat([X_train,y_train['Reached.on.Time_Y.N']], axis=1) n_train = df.select_dtypes(exclude = object).copy() c_train = df.select_dtypes(include = object).copy() n_test = df.select_dtypes(exclude = object).copy() c_test = df.select_dtypes(include = object).copy() from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() cols = ['Customer_care_calls','Customer_rating', 'Cost_of_the_Product', 'Prior_purchases', 'Discount_offered', 'Weight_in_gms'] n_train[cols] = scaler.fit_transform(n_train[cols]) n_test[cols] = scaler.transform(n_test[cols]) c_train = pd.get_dummies(c_train) c_test = pd.get_dummies(c_test) train = pd.concat([n_train, c_train], axis =1) test = pd.concat([n_test, c_test], axis =1) train = train.drop('ID', axis =1) test_id = test.pop('ID') from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split( train.drop('Reached.on.Time_Y.N', axis =1), train['Reached.on.Time_Y.N'], test_size = 0.2, random_state = 2023) from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import roc_auc_score model = RandomForestClassifier(random_state = 2023) model.fit(X_tr, y_tr) pred = model.predict_proba(X_val)[:,1] print(roc_auc_score(y_val, pred)) pred = model.predict_proba(test)[:,1] submit = pd.DataFrame({ 'ID': test_id, 'Reached.on.Time_Y.N': pred }) submit.to_csv("0000.csv", index = False)작업형2를 n_train, n_test, c_train, c_test로 나누어서 풀어보는 연습을 하고있는데요위와 같이 코딩을 했는데 roc_auc_score는 잘 출력이 되지만 아래와 같은 워닝이 뜹니다. 이유를 알 수 있을까요? 0.7289745856473446 --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-81-0b0c32327ea7> in <cell line: 38>() 36 print(roc_auc_score(y_val, pred)) 37 ---> 38 pred = model.predict_proba(test)[:,1] 39 submit = pd.DataFrame({ 40 'ID': test_id, 3 frames/usr/local/lib/python3.10/dist-packages/sklearn/base.py in _check_feature_names(self, X, reset) 479 ) 480 --> 481 raise ValueError(message) 482 483 def _validate_data( ValueError: The feature names should match those that were passed during fit. Feature names unseen at fit time: - Reached.on.Time_Y.N
-
미해결Java TPC 실전프로젝트 (Java API 활용)
아래 소스의 차이가 뭘까요?
StringBuffer stringBuffer = new StringBuffer(); String readLine; while ((readLine = bufferedReader.readLine()) != null) { stringBuffer.append(readLine); } bufferedReader.close(); StringBuffer stringBuffer = new StringBuffer(); String readLine; while (bufferedReader.readLine() != null) { readLine = bufferedReader.readLine(); stringBuffer.append(readLine); } bufferedReader.close(); 첫번째 소스와 두번째 소스의 차이점이 어떤걸까요?둘 다 bufferedReader.readLine() != null 일 경우에 readLine에 값을 대입하는 식인데첫번째로하면 오류가 안나는데 두 번째로 하면 오류가 나네요..위 두 소스의 차이점을 알고 싶습니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
빨간 줄이 적힙니다(makeText, 1번 클릭 완료, Toast.LENGTH_LONG...
프로그램이 화면이 출력되었다는 것을 알아야 한다고 했을 때Toast.makeText(context: this.text:"1번 클릭 완료", Toast.LENGTH_LONG).show()makeText, "1번 출력 클릭완료", Toast.LENGTH_LONG).show()까지 빨간줄이 그여져 있어요,,, 어떻게 바꾸어야 에러가 안 뜰까요?
-
미해결스파크 머신러닝 완벽 가이드 - Part 1
spark환경에서 데이터 수정에 관하여 질문이 있습니다.
안녕하십니까 수업 잘 수강하고 있습니다!수업을 수강하며 pyspark를 통해 예전에 했던 프로젝트의 데이터를 전처리부터 머신러닝까지 적용해보는 중인데, 전처리 과정에서 데이터를 수정해야 하는 경우에 대하여 질문이 있습니다.spark의 경우 pandas처럼 바꾸고 싶은 컬럼의 값만 바꿀 수 있지가 않고, withColumn을 통해 새로운 컬럼을 만들어내는 형식으로 대체가 가능한걸로 알고 있습니다.단순히 컬럼별로 기준을 정해서 바꾸는 거면 withColumn으로도 가능하지만, 만약 개별 줄마다 값을 변경해야 할 경우 for문을 써서 바꿔야 하는 경우가 있는데, 이렇게 할 경우 제 현재 작업 환경(로컬)이 노드가 하나여서 그런지 Java.lang.OutOfMemoryError이 뜨더군요. 그래서 기존에 하던 pandas에서 하던 것 처럼 하려면, toPandas로 바꿔서 해도 되긴 합니다만.. 그러면 pyspark를 이 단계에서는 굳이 사용해봐야 의미가 없고, 또한 나중에 in-memory에서는 처리를 하기 힘든 큰 데이터의 경우에서는 pandas를 사용하지 못하니 방법이 아예 사라지게 됩니다. 그래서 질문은, 만약 이 경우처럼 세세하게 한줄한줄마다 값을 수정할 필요가 있을 경우, 어떻게 하는 것이 좋을지 궁금합니다. 또, spark dataframe을 toPandas로 변환할 경우 그냥 Pandas dataframe으로 불러오는 것과 차이점이 있는지도 여쭤보고 싶습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3회 기출유형(작업형2) 수업 관련 질문
선생님 안녕하세요 ~ 항상 강의 잘 듣고있습니다!공부를 하다 궁금한 점이 생겨 작업형2 3회 기출문제 관련 질문드립니다.1. 다른 피처엔지니어링은 따로 for문을 사용하지 않아도 여러 컬럼에 대해 스케일링이 적용되던데 왜 Label Encoding만 for문을 사용하는지 궁금합니다.2. unamed:0은 삭제해도 되고, 삭제하지 않아도 되는걸까요?3. 복습을 하며 아래와 같이 풀었는데 이렇게 해도 되는걸까요?제출할 때 선생님께서 사용하신 'index':test.index 대신 기존에 있던 Unnamed: 0을 인덱스처럼 사용하였습니다.#데이터 전처리train = train.drop('Unnamed: 0',axis=1) index = test.pop('Unnamed: 0')#제출submit = pd.DataFrame({'index':index, 'pred':pred[:,1]}) submit.to_csv('2014.csv', index = False) 4. 그리고 pred의 범위 설정할 때, pred 변수를 만들 때 하는게 좋은지 제출할 때 하는게 좋은지 궁금합니다. (pred[:,1]이런식으로 범위 설정)#pred 변수 설정시pred = model.predict_proba(test)[:,1]#제출시submit = pd.DataFrame({'index':index, 'pred':pred[:,1]})5. 수치형 /범주형 데이터 분리 없이 원핫인코딩하는 코드를 알고싶습니다.cols = 범주형 데이터train[cols] = pd.get_dummies(train[cols])>> 이렇게 했을 때는 길이가 안 맞아서 오류가 났고train = pd.get_dummies(train[cols])>> 이렇게 했을 때는 train에 원핫인코딩된 범주형 데이터만 저장이 됐습니다. 감사합니다.
-
미해결[핵집] 2024 빅데이터 분석기사(실기)_작업형 1·2·3유형
get_feature_names 오류
get_feature_names 오류가 있어서 한참 찾아봤는데 get_feature_names_out 로 바꼈다고 하네요 이에 대한 공지가 있으면 좋겠습니다.
-
미해결스프링 핵심 원리 - 기본편
인텔리제이 하단 창이 제대로 안나옵니다.
갑자기 좌측하단창이 나오지 않습니다..어떻게 해야 나오게 할 수 있을까요?
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
해시[문제1번] max사용의문
-영상 14분for i in range(1, 1001): if cnt[i] == 1: answer = max(answer, i) #i는 계속 커지므로 max를 안써도 되지 않을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 선생님 질문 있습니다!!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/50bc7487d15a4569a1ed8e12e3f46c6f메인에서 combi를 호출할 때에 combi(-1,b)로 보내는데 위의 링크 combi(0,b)로 보내고 combi 함수의 내부의 for문과 같이 바꿔도 괜찮을까요??개인적으로 함수를 호출할 때에 증가되는것이 보기에 더 잘 이해되서 한 번 여쭤봅니다!!