묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
쿼리 발생 수에 대해서 궁금합니다~~
@GetMapping("/api/v1/simple-orders") public List<Order> ordersV1() { // List<Order> allByString = orderRepository.findAllByString(new OrderSearch()); //order를 전부 끌고옴 => 2개 for (Order order : allByString) { order.getMember().getName(); order.getDelivery().getAddress(); } return allByString; }제가 생각하는 건 List<Order> allByString = orderRepository.findAllByString(new OrderSearch());이 코드로 쿼리 1개가 발생하고 결과 값이 2개니깐for문으로order.getMember().getName(); 이 쿼리가 2번 발생order.getDelivery().getAddress(); 이 쿼리가 2번 발생해서 총 5번 쿼리가 발생해야 된다고 생각이 들었습니다.하지만 로그를 보니깐 쿼리는 총 6번 발생하고제가 생각했던 거와는 다르게 member와 delivery에 대한 쿼리가 1번씩만 발생하고selecto1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.statusfromorders o1_0whereo1_0.delivery_id=?이 쿼리만 2번 발생이 되더라고요그리고 order_item도 조회가 되는 걸 확인을 했습니다.로그 쿼리 수는 총 6개였습니다.전체 쿼리 로그입니다.전체 쿼리입니다. 2024-08-15T18:49:21.937+09:00 DEBUG 20740 --- [nio-8080-exec-5] org.hibernate.SQL : select o1_0.order_id, o1_0.delivery_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 join member m1_0 on m1_0.member_id=o1_0.member_id fetch first ? rows only 2024-08-15T18:49:21.940+09:00 INFO 20740 --- [nio-8080-exec-5] p6spy : #1723715361940 | took 0ms | statement | connection 7| url jdbc:h2:tcp://localhost/~/jpashop select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 join member m1_0 on m1_0.member_id=o1_0.member_id fetch first ? rows only select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 join member m1_0 on m1_0.member_id=o1_0.member_id fetch first 1000 rows only; 2024-08-15T18:49:21.942+09:00 DEBUG 20740 --- [nio-8080-exec-5] org.hibernate.SQL : select m1_0.member_id, m1_0.city, m1_0.street, m1_0.zipcode, m1_0.name from member m1_0 where m1_0.member_id in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 2024-08-15T18:49:21.943+09:00 INFO 20740 --- [nio-8080-exec-5] p6spy : #1723715361943 | took 0ms | statement | connection 7| url jdbc:h2:tcp://localhost/~/jpashop select m1_0.member_id,m1_0.city,m1_0.street,m1_0.zipcode,m1_0.name from member m1_0 where m1_0.member_id in (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) select m1_0.member_id,m1_0.city,m1_0.street,m1_0.zipcode,m1_0.name from member m1_0 where m1_0.member_id in (1,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); 2024-08-15T18:49:21.945+09:00 DEBUG 20740 --- [nio-8080-exec-5] org.hibernate.SQL : select d1_0.delivery_id, d1_0.city, d1_0.street, d1_0.zipcode, d1_0.status from delivery d1_0 where d1_0.delivery_id in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 2024-08-15T18:49:21.947+09:00 INFO 20740 --- [nio-8080-exec-5] p6spy : #1723715361947 | took 0ms | statement | connection 7| url jdbc:h2:tcp://localhost/~/jpashop select d1_0.delivery_id,d1_0.city,d1_0.street,d1_0.zipcode,d1_0.status from delivery d1_0 where d1_0.delivery_id in (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) select d1_0.delivery_id,d1_0.city,d1_0.street,d1_0.zipcode,d1_0.status from delivery d1_0 where d1_0.delivery_id in (1,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); 2024-08-15T18:49:21.948+09:00 DEBUG 20740 --- [nio-8080-exec-5] org.hibernate.SQL : select o1_0.order_id, o1_0.delivery_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 where o1_0.delivery_id=? 2024-08-15T18:49:21.949+09:00 INFO 20740 --- [nio-8080-exec-5] p6spy : #1723715361949 | took 0ms | statement | connection 7| url jdbc:h2:tcp://localhost/~/jpashop select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.delivery_id=? select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.delivery_id=1; 2024-08-15T18:49:21.950+09:00 DEBUG 20740 --- [nio-8080-exec-5] org.hibernate.SQL : select o1_0.order_id, o1_0.delivery_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 where o1_0.delivery_id=? 2024-08-15T18:49:21.951+09:00 INFO 20740 --- [nio-8080-exec-5] p6spy : #1723715361951 | took 0ms | statement | connection 7| url jdbc:h2:tcp://localhost/~/jpashop select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.delivery_id=? select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.delivery_id=2; 2024-08-15T18:49:21.954+09:00 DEBUG 20740 --- [nio-8080-exec-5] org.hibernate.SQL : select oi1_0.order_id, oi1_0.order_item_id, oi1_0.count, oi1_0.item_id, oi1_0.order_price from order_item oi1_0 where oi1_0.order_id in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 2024-08-15T18:49:21.956+09:00 INFO 20740 --- [nio-8080-exec-5] p6spy : #1723715361956 | took 0ms | statement | connection 7| url jdbc:h2:tcp://localhost/~/jpashop select oi1_0.order_id,oi1_0.order_item_id,oi1_0.count,oi1_0.item_id,oi1_0.order_price from order_item oi1_0 where oi1_0.order_id in (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) select oi1_0.order_id,oi1_0.order_item_id,oi1_0.count,oi1_0.item_id,oi1_0.order_price from order_item oi1_0 where oi1_0.order_id in (1,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); 왜 orders o1_0 가 2번 조회가 되고 왜 order_item이 조회가 되는지 이해가 잘 안갑니다.제가 생각했던 거와는 너무 달라서 질문드립니다ㅠㅠ
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
Event Loop
Event Loop 함수에서 함수포인터 배열를 사용하여 Lookup 테이블 구조로 변경 하는 도중에 에러가 발생하여 질문 남깁니다! void (*EventFunc[EVENT_COUNT])(void) = { 0, AddNewUser, SearchByName, SearchByAge,PrintList, SearchByNameToRemove };위 코드와 같이 EVENT_COUNT 를 #define EVENT_COUNT 6 매크로로 정의 했을때 오류가 발생 합니다.void (*EventFunc[6])(void) = { 0, AddNewUser, SearchByName, SearchByAge,PrintList, SearchByNameToRemove };EVENT_COUNT를 매크로로 정의 하지 않고 6으로 하드코딩 할때는 컴파일이 잘되는데 서로 다른 결과가 나오는 이유가 궁금합니다.
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
lock.tryLock(15, 1, TimeUnit.SECONDS) 질문입니다!
안녕하세요! 강의를 보면서 많은 도움 얻고있습니다.항상 감사합니다! 궁금한점이 아래 시간에 해당하는 부분인데요.boolean available = lock.tryLock(15, 1, TimeUnit.SECONDS);강사님과 저의 테스트코드에선 thread를 100개를 만들어 놓고 테스트를 진행했습니다.그리고 락을 한번 획득하면 1초동안 점유하고 있고, 락 획득을 위해 대기할 수 있는 시간은 총 15초 입니다.그래서 락을 획득할 수 있는 스레드는 1초에 한개씩으로, 테스트코드가 성공하려면 총 100초가 걸려야 하고, 지금 상황으로는 성공하지 않아야 정상이라고 생각하는데 강사님의 코드에서 성공한 이유가 뭔지 궁금합니다!제가 아직 이해를 제대로 못해서 뭔가를 놓친 것 같은데 감이 잘 안잡히네요 ㅠㅠ
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 챗봇 사이트 만들기
수정해보았는데 답장이 오지 않습니다.
send를 누르면 터미널에 이렇게 뜹니다. Server Running at 5000 C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\jwtclient.js:193 throw new Error('The incoming JSON object does not contain a client_email field'); ^ Error: The incoming JSON object does not contain a client_email field at JWT.fromJSON (C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\jwtclient.js:193:19) at GoogleAuth._cacheClientFromJSON (C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\googleauth.js:313:16) at ReadStream.<anonymous> (C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\googleauth.js:347:36) at ReadStream.emit (node:events:519:28) at endReadableNT (node:internal/streams/readable:1696:12) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) Node.js v20.16.0 PS C:\project\vswork\chatbot-app-master> 아래와 같이 값이 입력이되어있는데도말입니다. 루트파일에다가 구글 인증json을 위치를 끌어다 넣어도 그렇습니다. 가르쳐줘서 고맙습니다. 근데 이렇게 문제가 생겨서 이 구간을 벗어나고 싶습니다 ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
localhost:8080/hello창 whitelabel error 발생
여기까지가 코드 입력 캡쳐본입니다. localhost:8080창은 잘 뜨는데localhost:8080/hello 창은 위와 같은 오류가 발생합니다.좀 수월하게 하려고 인텔리제이 유료결제했더니빨간 네모 표시한 아이콘이 떠서 클릭했더니전혀 다른 주소로 위와 같은 창이 생성되었고,F12 눌렀더니 아래와 같이 표시됩니다.뭐가 문제였던 걸까요ㅠㅠㅠ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I 질문있습니다
http://boj.kr/dd6737fde63945129d78f247d40f557d같은 로직으로 풀었습니다. 차이점하나는 강사님은 flag로 검사를 하였고저는 바로 turn을 출력하고 끝낸것인데 왜 제 방식이 틀렸는지 이해가 되지 않습니다.
-
미해결백엔드 개발을 위한 필수 강의 - 스프링 부트3
프로젝트 생성 오류
STS를 설치하고 sbb 프로젝트를 만들고 나면 아래와 같은 오류가 발생합니다. ToolchainDownloadFailedException: No locally installed toolchains match and toolchain download repositories have not been configured. java.lang.reflect.InvocationTargetException file - Properties에 들어가서 해결하려고 했는데 Java Build Path 항목이 없어서 해결하지 못했고, 구글링으로도 해결이 안되는 상황입니다... 어떻게 해결할 수 있을까요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
reailations property 코드 타입 에러 관련 질문
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다![코드팩토리 디스코드]https://bit.ly/3HzRzUM안녕하세요 강의 감사히 듣고 있습니다.다름이 아니라 릴레이션 설정을 할 때 객체 방식으로 선언시postman 결과는 잘 나오는데 IDE 에서 타입에러가 발생해서요 IDE 의 차이일까요? IDE 는 웹스톰을 사용 중 이고typeORM 0.3.17 버전입니다.찾아보니 TypeORM 0.3.x 이상 버전에서 제공되는 확장된 기능입니다 라는데 두 개의 방식 모두 사용해도 괜찮은지 궁금해서 글 남깁니다Argument type {relations: {profile: boolean}} is not assignable to parameter type FindManyOptions<UserModel> | undefined
-
미해결Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부
강의자료 관련 질문드립니다.
안녕하세요 강사님 덕분에 잘 수강하고 있는 수강생입니다. 수업자료 관련하여 간혹가다 zip파일이 존재하던데, 해당 파일들은 어떻게 열어야 할까요? zip파일을 해제하면 구성 요소들만 존재하는 것 같아요예시 첨부드립니다. 감사합니다!.
-
미해결스프링 핵심 원리 - 기본편
웹 스코프와 프로토타입 스코프
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 이해한 것이 맞는지 궁금합니다웹 스코프와 프로토타입 스코프의 공통점은 클라이언트가 요청할 때마다 새로운 인스턴스가 생성된다.하지만 웹 스코프는 컨테이너가 생명 주기를 모두 관리하고 웹 환경에서만 사용되며프로토타입 스코프는 컨테이너가 생성과 의존 관계 주입 이후 관리하지 않고 웹 환경에 국한되지 않는다. 이렇게 이해하였습니다.
-
해결됨한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지
onClick 함수
$tabBar.forEach((elm) => { elm.addEventListener('click', () => { onClick(elm.id); }); }); 이 onClick 함수 this.onClick으로 호출하지 않았는데,이러면 TabBar 인스턴스의 onClick 메소드는 쓰지 않는 거 아닌가요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
비교연산자와 반복문+조건문 문제 풀이 강의 질문이요.
13:05부터 약간 문제풀이가 이해가 안 되어가지구요. 1 2 3 4 5 6 7 8 9 10 int=isum=0 첫번째 if문 sum+=i*i; i%2 == 1 -> 2로 나누어서 나머지가 1값이 나오면 곱셈하라는 이야기이죠? 그러면 홀수인 1 3 5 7 9는 (1*1, 3*3, 5*5, 7*7, 9*9) 하라는 이야기이네요? 두번재 else 에서는 sum-= i; -> 음수값 붙이라는 이야기인가요? 그러면 짝수는 (-2, -4, -6, -8, -10) 이라는 이야기이네요? 거기서 1 2 3 4 5 6 7 8 9 10처음 sum 값은 0이니 홀수는 1*1해서 1값이 나온거고다음 짝수는 첫번째 sum 값인 1*1 에서 -2를 더해서 -1값이 나온거고 그래서 1 2 3 4 5 6 7 8 9 101 -1 8 4 29 23 72 64 145 135(1*1) = 1{(1*1) = 1} -2 = -1(3*3)-1 = 8{(3*3)-1 = 8} -4 = 4이렇게 순서대로 이해하면 되나요? 이게 맞는건가요? 비전공자라 이해가 잘 안되서 여쭙니다. 감사합니다.
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
시간초과를 자력으로 해결하지 못했습니다 😓
안녕하세요, 강의를 듣고 계신 여러분!여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다. 1. chatGPT를 이용해보기단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다! 2. 강의의 어떤 부분에 대한 질문이고, 어떤 부분이 궁금한지 명확히 알려주세요!강의의 어느 파트에서 의문을 느끼고, 어떤 부분이 궁금한지를 명확히 제시해 주시면 답변에 도움이 됩니다!자신은 어떻게 이해했는지 또한 적어주면 좋습니다! ex) 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의에서 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해했습니다. 그러면 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요? 어느 파트섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의자신은 어떻게 이해했는지DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해어떤 부분이 궁금한지 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요?안녕하세요. 선생님.저번 설명과 조언 너무 감사합니다. 그,, 백준 2580 스도쿠에 관한 질문인데요,시간 초과를 해결하지 못하였는데,각각을 보면 그렇게까지 시간이 많이 들지는 않을 거 같다는 생각도 들구..재귀를 사용하지는 않았지만,어디서 시간이 많이 걸리는 지 분석이 안되어서요..선생님 도움이 필요해서 질문 남깁니다.. arr = [list(map(int, input().split())) for _ in range(9)] # 스도구 문제 배열 idxs = [] # 인덱스 쌍을 담는 배열 for i in range(9): for j in range(9): if not arr[i][j]: idxs.append((i,j)) def fillHori(y, x): # 가로 nums = 45 # 1~9까지의 합 for i in range(9): if x == i: continue # 자기 자신 탐색 제외 if arr[y][i] == 0: return 0 # 0이 또 있으면 채울 수 없음 nums -= arr[y][i] return nums def fillVerti(y, x): #세로 nums = 45 # 1~9까지의 합 for i in range(9): if y == i: continue # 자기 자신 탐색 제외 if arr[i][x] == 0: return 0 # 0이 또 있으면 채울 수 없음 nums -= arr[i][x] return nums def fillSquare(y, x): #사각형 nums = 45 # 1~9까지의 합 for i in range(y // 3 * 3, y // 3 * 3 + 3): for j in range(x // 3 * 3, x // 3 * 3 + 3): if y == i and x == j: continue # 자기 자신 탐색 제외 if arr[i][j] == 0: return 0 # 0이 또 있으면 채울 수 없음 nums -= arr[i][j] return nums def fillCrossDown(y, x): # 대각선(안씀) nums = 45 # 1~9까지의 합 for i in range(9): for j in range(9): if y == i and x == j: continue # 자기 자신 탐색 제외 if arr[i][j] == 0: return 0 # 0이 또 있으면 채울 수 없음 if y - x == j - i: nums -= arr[i][j] return nums def fillCrossUp(y, x): # 대각선(안씀) nums = 45 # 1~9까지의 합 for i in range(9): for j in range(9): if y == i and x == j: continue # 자기 자신 탐색 제외 if arr[i][j] == 0: return 0 # 0이 또 있으면 채울 수 없음 if y + x == j + i: nums -= arr[i][j] return nums while idxs: for i, j in idxs: n = fillHori(i, j) if n: arr[i][j] = n; idxs.remove((i,j)); continue n = fillVerti(i, j) if n: arr[i][j] = n; idxs.remove((i,j)); continue n = fillSquare(i, j) if n: arr[i][j] = n; idxs.remove((i,j)); continue n = fillCrossUp(i, j) if n: arr[i][j] = n; idxs.remove((i,j)); continue n = fillCrossDown(i, j) if n: arr[i][j] = n; idxs.remove((i,j)) for a in arr: for i in a: print(i, end = ' ') print()
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
주소
주소 안들어가집니다/
-
해결됨토스 출신 디자이너와 함께 뽀개는 프로덕트 디자이너 포트폴리오
내 경험 회고하기 노션 템플릿
안녕하세요 영화님:)3강 과제 (내 경험 회고하기)를 위한 노션 문서를 공유해주신다고 하셨는데, 공유해주신 모든 자료 리스트 노션에서 찾을 수가 없어서 질문 남겨요. 어디에서 과제 템플릿을 찾을 수 있을까요?감사합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Rider vs Visual Studio
강의 로드맵 전체 수강중입니다.Visual Studio 로 진행하셨는데 Rider 구매하려고 해서, Rider로 진행해도 따라가는데 문제 없을까요?
-
미해결김영한의 실전 자바 - 중급 2편
implement iterator 주석처리 해도 myArray는 배열 아닌가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]순회 2 -향상된 for문 1;18초에서 implememt를 주석 처리 하고 향상된 for문을 돌렸을 때 배열이거나 iterable이여야한다고 에러가 떴습니다 .근데 MyAraayMain에서 이미 myarray 는 new int [] {1.2.3.4}로 배열로 선언한거 아닌가요?
-
미해결파이썬 무료 강의 (활용편7) - 머신러닝
머신러닝 - surprise 모듈 설치 오류
프로젝트 단계에서surprise 모듈을 설치할 수가 없어요.!pip install scikit-surprise이후에 출력된 내용 중 하단에 다음과 같이 오류 메시지가 뜹니다.note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for scikit-surprise ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (scikit-surprise) 어떤 문제인지, 어떻게 해결해야 하는지 궁금합니다.
-
미해결
강의 질문
안녕하세요 컴공과3학년 학생입니다. 백엔드 개발자를 희망하고 방학기간까지 지금 mvc 1편 몇부분 다시보고 복습하고 앞에 핵심원리 기본을 다시보고 복습하고 블로그 글도 읽어 가면서 복습하면서 공부하고 있습니다.2학기에 db및 고급까지 다 보기에는 시간이 빠듯한데 혹시 동아리 실전 프로젝트를 하러 들어갔을때 db를 건너띄고 jpa(api 설계)를 먼저 보는 게 나을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
프로젝트 실행 시, ClassNotFoundException: lombok.Setter 에러 발생
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.엔티티 클래스 작성 후 프로젝트 실행 시 아래와 같은 에러 메세지가 출력됩니다.lombok 설정은 아래와 같이 설정된 것을 확인했고, 엔티티 클래스 작성 전에 테스트에서 잘 실행되었습니다.세팅 관련 설정도 아래와 같이 확인했습니다. @Getter, @Setter도 잘 인식하는데, lombok 클래스를 발견할 수 없다는 에러가 계속 발생하는데, 뭐가 문제일까요?