묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
가장 높은 탑 쌓기
코드가 왜 오답인지 잘 모르겠습니다ㅠㅠimport java.util.ArrayList; import java.util.Collections; import java.util.Scanner; class Block implements Comparable<Block> { int a; int h; int w; public Block(int a, int h, int w) { this.a = a; this.h = h; this.w = w; } @Override public int compareTo(Block o) { return o.a - this.a; } } class Main { static int[] dy; static int[] dis; public int solution(ArrayList<Block> arr, int n) { int answer = 0; Collections.sort(arr); dy[0] = 1; dis[0] = arr.get(0).h; for (int i = 1; i < n; i++) { int max = 0; int max_h = 0; for (int j = i - 1; j >= 0; j--) { if (arr.get(j).w > arr.get(i).w && dy[j] >= max && dis[j] > max_h) { max = dy[j]; max_h = dis[j]; } } dy[i] = max + 1; dis[i] = max_h + arr.get(i).h; answer = Math.max(answer, dis[i]); } return answer; } public static void main(String[] args) { Main T = new Main(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); ArrayList<Block> arr = new ArrayList<Block>(); dy = new int[n]; dis = new int[n]; for (int i = 0; i < n; i++) { int a = kb.nextInt(); int h = kb.nextInt(); int w = kb.nextInt(); arr.add(new Block(a, h ,w)); } System.out.println(T.solution(arr, n)); } }
-
해결됨리눅스 입문 - 개념으로 탄탄히!!
파일디스크립터 및 스트림 질문
파일디스크립터 다시 듣고 질문 하는데요 예를들면 printf("~~") 이거만 있는 프로그램은 표준출력 스트림 이거만 가르키는거로 알고있습니다. 정확히는 이 프로세스의 파일디스크립터는 stdout 여기 스트림을 가리키겟죠근데 stdout stdin stderr 이거들 다 파일시스템에 있는 파일이죠(스트림이지만 리눅스에선 모든걸 다 파일이라고 하잖아요)??그리고 stdin stdout이던 드라이버를 제어할수 있는 커널레벨의 함수로 만들어졌겟죠? 그리고 모니터에 출력이 되는건가요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
변수 Question에 products안에 모든 price들을 볼려면 어떤코드작성해야할까요???
변수 Question에 products안에 모든 price들을 볼려면 어떤코드작성해야할까요???
-
해결됨스프링과 JPA 기반 웹 애플리케이션 개발
12:15와는 다른 화면이 나옵니다.
읽기 쉽게 fragments.html에 있는 코드를 settings.tags.html에 옮겨 적었습니다. 코드 내용<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Study Club</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@yaireo/tagify@3.5.1/dist/tagify.css"> <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/jdenticon@3.2.0/dist/jdenticon.min.js" async integrity="sha384-yBhgDqxM50qJV5JPdayci8wCfooqvhFYbIKhv0hTtLvfeeyJMJCscRfFNKIxt43M" crossorigin="anonymous"> </script> <style> .container{ max-width: 100%; } .tagify-outside{ border: 0; padding: 0; margin: 0; } </style> </head> <body class="bg-light"> <nav class="navbar navbar-expand-sm navbar-dark bg-dark"> <a class="navbar-brand" href="/" th:href="@{/}"> <img src="/images/logo_symbol.png" width="30" height="30"> </a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav mr-auto"> <li class="nav-item"> <form th:action="@{/search/study}" class="form-inline" method="get"> <input class="form-control mr-sm-2" name="keyword" type="search" placeholder="스터디 찾기" aria-label="Search" /> </form> </li> </ul> <ul class="navbar-nav justify-content-end"> <li class="nav-item" sec:authorize="!isAuthenticated()"> <a class="nav-link" th:href="@{/login}">로그인</a> </li> <li class="nav-item" sec:authorize="!isAuthenticated()"> <a class="nav-link" th:href="@{/sign-up}">가입</a> </li> <li class="nav-item" sec:authorize="isAuthenticated()"> <a class="nav-link" th:href="@{/notifications}"> <i class="fa fa-bell-o"></i> </a> </li> <li class="nav-item" sec:authorize="isAuthenticated()"> <a class="nav-link btn btn-outline-primary" th:href="@{/notifications}"> <i class="fa fa-plus" aria-hidden="true"></i> 스터디 개설 </a> </li> <li class="nav-item dropdown" sec:authorize="isAuthenticated()"> <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <svg th:if="${#strings.isEmpty(account?.profileImage)}" data-jdenticon-value="user127" th:data-jdenticon-value="${#authentication.name}" width="24" height="24" class="rounded border bg-light"></svg> <img th:if="${!#strings.isEmpty(account?.profileImage)}" th:src="${account.profileImage}" width="24" height="24" class="rounded border"/> </a> <div class="dropdown-menu dropdown-menu-sm-right" aria-labelledby="userDropdown"> <h6 class="dropdown-header"> <span sec:authentication="name">Username</span> </h6> <a class="dropdown-item" th:href="@{'/profile/' + ${#authentication.name}}">프로필</a> <a class="dropdown-item" >스터디</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="#" th:href="@{'/settings/profile'}">설정</a> <form class="form-inline my-2 my-lg-0" action="#" th:action="@{/logout}" method="post"> <button class="dropdown-item" type="submit">로그아웃</button> </form> </div> </li> </ul> </div> </nav> <div class="container"> <div class="row mt-5 justify-content-center"> <div class="col-2"> <div class="list-group"> <a class="list-group-item list-group-item-action" th:classappend="${currentMenu == 'profile'}? active" href="#" th:href="@{/settings/profile}">프로필</a> <a class="list-group-item list-group-item-action" th:classappend="${currentMenu == 'password'}? active" href="#" th:href="@{/settings/password}">비밀번호</a> <a class="list-group-item list-group-item-action" th:classappend="${currentMenu == 'notifications'}? active" href="#" th:href="@{/settings/notifications}">알림</a> <a class="list-group-item list-group-item-action" th:classappend="${currentMenu == 'tags'}? active" href="#" th:href="@{/settings/tags}">관심 주제</a> <a class="list-group-item list-group-item-action" th:classappend="${currentMenu == 'zones'}? active" href="#" th:href="@{/settings/zones}">활동 지역</a> <a class="list-group-item list-group-item-action list-group-item-danger" th:classappend="${currentMenu == 'account'}? active" href="#" th:href="@{/settings/account}">계정</a> </div> </div> <div class="col-8"> <div class="row"> <h2 class="col-12">관심있는 스터디 주제</h2> </div> <div class="row"> <div class="col-12"> <div class="alert alert-info" role="alert"> 참여하고 싶은 스터디 주제를 입력해 주세요. 스터디가 생기면 알림을 받을 수 있습니다. 태그 입력 후 콤마(,) 또는 엔터를 입력하세요. </div> <input id="tags" type="text" name="tags" class="tagify-outside" aria-describedby="tagHelp"/> </div> </div> </div> </div> </div> <script type="application/javascript" th:inline="javascript"> $(function () { var csrfToken = /*[[${_csrf.token}]]*/ null; var csrfHeader = /*[[${_csrf.headerName}]]*/ null; $(document).ajaxSend(function (e, xhr, options){ xhr.setRequestHeader(csrfHeader, csrfToken); }); }); </script> <script src="https://cdn.jsdelivr.net/npm/@yaireo/tagify@3.5.1/dist/tagify.min.js"></script> <script type="application/javascript" th:inline="javascript"> $(function() { function tagRequest(url, tagTitle) { $.ajax({ dataType: "json", autocomplete: { enabled: true, rightKey: true, }, contentType: "application/json; charset=utf-8", method: "POST", url: "[(${baseUrl})]" + url, data: JSON.stringify({'tagTitle': tagTitle}) }).done(function (data, status) { console.log("${data} and status is ${status}"); }); } function onAdd(e) { tagRequest("/add", e.detail.data.value); } function onRemove(e) { tagRequest("/remove", e.detail.data.value); } var tagInput = document.querySelector("#tags"); var tagify = new Tagify(tagInput, { pattern: /^.{0,20}$/, whitelist: JSON.parse(document.querySelector("#whitelist").textContent), dropdown : { enabled: 1, // suggest tags after a single character input } // map tags }); tagify.on("add", onAdd); tagify.on("remove", onRemove); // add a class to Tagify's input element tagify.DOM.input.classList.add('form-control'); // re-place Tagify's input element outside of the element (tagify.DOM.scope), just before it tagify.DOM.scope.parentNode.insertBefore(tagify.DOM.input, tagify.DOM.scope); }); </script> </body> </html>결과 화면
-
미해결스프링 핵심 원리 - 고급편
스프링에서 CGLiB를 기본적으로 설정했는데, JDK 프록시 방식이 더 유용한 경우가 있을까요?
스프링에서 CGLiB를 기본적으로 설정했는데, CGLiB와 비교하여 JDK 프록시 방식이 더 유용한 경우가 있을까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
android sdk android api 29 platform is missing
해당 경고가 위에 떠서 file->settings->language & frameworks -> android sdk들어가서 android 10.0("Q")를 설치하고 컴퓨터 껏다켜봐도 안 없어지네요;; 어떻게 없애죠?
-
해결됨실전! FastAPI 입문
HTT
HTTP Response 처리하는 강의에서 7:53초, response 타입을 -> ~으로 정의하는 부분에서 오류가 발생하내요;; 왜이런지
-
미해결처음하는 플러터(Flutter) 기초부터 실전까지 [풀스택 Part4] (쉽고 견고하게 단계별로 다양한 프로젝트까지)
Provider와 Stateful
보통 위젯이 그려지는 상태가 바뀌는 상황일때는 stful 위젯으로 코드를 작성하는데, Provide강의에서는 Stateless위젯으로도 화면에 그려지는 위젯이 바뀌는 원리가 어떻게 되는건가요?Provider 만의 고유 특징인지 아니면 어떤 예외의 원리가 따로 있는건지 궁금해요!
-
해결됨스프링 핵심 원리 - 기본편
스프링 부트 버전
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]해당 강의에서 김영한님이 스프링 부트 버전 2.3.3 버전을 클릭하셨는데 현재 시점에서 Spring Initializr에 접속하면 선택 가능한 스프링 부트 버전 3.1.3, 3.0.10, 2.7.15입니다.이 중에서 2.7.15로 선택해서 강의 들으면 될까요??
-
미해결파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편
websocket 자바스크립트 클라이언트 구현?
안녕하세요! 선생님 강의를 보면 클라이언트 웹소켓 구현을 전부 자바스크립트만으로 구현을 하셨는데, 실제 제품을 만든다고 하면, 선생님 강의에서 구현하신것처럼 웹소켓 클라이언트 부분을 자바스크립트 만으로 충분할까요?아니면 웹소켓 관련 프레임워크가 있을까요?? 보통 웹 개발하면 순수 자바스크립트 만으로 개발을 잘 안하자나요?? 문뜩 든생각은 분명 원활한 개발을 위해 웹소켓도 뭔가 프레임워크 같은게 있을것 같은데, 회사가 파이썬으로 웹 개발하는 회사가 아니다 보니 잘 모르겠네요,.,,만약 있다면 어떤게 있고 참고할 만 자료가 있으면 알려주시면 감사합니다.혹시 제가 개념을 잘못 이해 하고 있으면 지적 부탁드립니다!!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그인이 성공한 뒤 세션이 이미 존재하는 경우가 있나요?
//로그인 성공 처리 //세션이 있으면 있는 세션 반환, 없으면 신규 세션 생성 HttpSession session = request.getSession();세션이 있으면 있는 세션을 반환한다고 하셨는데처음 로그인을 하는데 이미 세션이 존재 할 수가 있나요??항상 신규 세션을 생성 하는거 아닌가요??
-
해결됨시나브로 자바스크립트
콘솔창 $0과 this에 대해
02. 쇼핑몰 만들기 Part 1 - (3 of 7) Advanced event 4:50초쯤에 설명하시는 콘솔창에서 사용하는 $0 이, 현재 선택된 또는 클릭된 객체를 콘솔창에서 사용할때 $0으로 한다는 뭐 그런내용으로 설명하는 부분에서 저의 질문은 그렇다면 예를들어 let anyone = querySelectorAll('.sample') 처럼 같은 클래스가 여러개 존재하고 그 중의 하나를 선택하고자 할때 , 현재 클릭된 또는 선택되어 있는 ,콘솔창에 $0으로 접근하는 그것을 'this'라는 대명사(?)와 같은것인지 궁금합니다. 저는 this라는 것을 같은 것이 여러개 있을지라도 결국 어느 한순간에 실행되는 객체는 오직 하나이므로 (리얼 멀티프로세서가 아닌이상) 이것을 this로 생각 중..
-
해결됨Verilog FPGA Program 3 (DDR Controller, Arty A7-35T)
DDR Controller 핀 맵핑
안녕하세요 강사님. 실습을 zybo z7-10보드로 하는 수강생입니다. 그럴 경우에 교재 25페이지에 있는 핀 맵핑을 어떻게 해야 하나요? 회로도를 보면서 일일이 맵핑을 하려고 하는데 Pin Number, IO Standard는 감이 오는데 Bank Number, Byte Number은 어떻게 설정해야하나요?
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
recv() 함수가 아무 응답도 보내지 않는 이유는 무엇인가요?
break point를 통해 echo server 과정을 조정하던 중 send()를 보낼 때 ack 응답이 돌아온다는 것을 알게되었습니다.저는 recv()로 데이터를 받아 ack 응답을 보내는 줄만 알았는데 아니였더군요...recv()로 응답하지 않는다면 데이터가 제대로 전송되어 버퍼에 저장되었음을 알 수 없는 것 아닌가요?send()에서만 응답 받았음을 알리는 이유가 궁금합니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
문제풀이 4번
보기 B와 D가 같은 말 같아요.cloudfront 생성하고 배포에서 생성한 waf를 연결해주는 걸로 알고 있습니다. 이게 B와 D에 같이 해당하는 말 아닌가요?B는 왜 틀린건지 잘 모르겠어요. OAI가 빠졌기 때문에, (OAI 없이는) s3요청을 waf로 전달되도록 불가 라는 뜻일까요?번역 순서오류?C보기에 'Amazon CloudFront IP주소가 Amazon S3에만 액세스 가능하도록 허용하는 보안 그룹 규칙을 만들 수 있다'는 설명까지는 맞는말인가요? (= 특정 서비스의 IP를 특정 서비스에서만 사용 가능하게 할 수 있나요?)아니라면 혹시 순서를 바꿔서 'Amazon S3에 amazon cloudfront ip 주소만 액세스하도록 허용하는 보안 그룹을 구성한다'가 문제가 노린 함정 의도일까요?(S3에 보안그룹 기능이 안되어서 오답이겠지만)P.S. chatgpt에 물어보면서 공부하고 있는데 이게 정확한지 의문이네요 흠..
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
언리얼에서 소켓 연결 관련 전역 객체의 생성 질문
안녕하세요 강사님강사님의 강의를 들으며 게임 서버 개발자를 꿈꾸는 학생입니다.다름이 아니라 이번에 프로젝트를 진행할 기회가 생겨서 언리얼 클라와 IOCP 서버를 연동해 게임을 만드려고 합니다.이때 클라측에선 네트워크 스레드를 별도로 두어 패킷의 송수신을 담당하도록 하고 수신받은 데이터를 전역에서 존재하는 큐를 여러개 두어(인게임 패킷만 다루는 큐, 로비에서의 패킷만 다루는 큐 등) 여기에 밀어주도록 하고 메인 스레드에서 이를 락을 걸어 뽑아서 쓰는 형식으로 구현할 계획입니다.여기서 궁금한 점이 이런 소켓 연결 관련 객체와 글로벌 큐를 어느 위치에서 가지고 있어야 하는지입니다. 전역으로 사용하고 연결이 끊기면 안되므로 Game Instance를 생각하고 있습니다만 더욱 좋은 방법이 있는지 강사님께 여쭤보고 싶습니다. 읽어주셔서 감사합니다!
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
에러나서 시간을 많이 잡아먹어요
window용이라서 에러가 나면 검색하느라 시간을 많이 잡아먹어요.기본 1시간 이상 걸리는거 같아요이걸 감내해야되는 건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
sql 로그가 나오지 않습니다..
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]본 강의에서 선생님 화면처럼 sql 이 로그에 나오지 않습니다. yml 파일은 똑같이 작성했는데도 나오지 않는 이유를 모르겠습니다...
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
emotion styles 파일이 빌드시 경고로 뜹니다.
저는 scss 대신 emotion 스타일을 사용하고 컴포넌트or 페이지를 스타일 파일과 한폴더에 넣어 사용합니다 (아래와 같은 폴더구조)페이지 폴더가 라우트 기능을 해서인지 다음과 같이 빌드 최적화에 실패햇다고 뜨는 현상이 있는데 컴포넌트폴더 에서는 문제없이 되는데 페이지 폴더에서만 이렇게 되는 원인이 무엇인가요?또 해당 페이지를 컴포넌트로 이동신후 페이지에서 단순 호출만 하게 한다면 최적화가 정상적으로 되는건가요?
-
미해결눈떠보니 코딩테스트 전날
퀵 정렬
퀵정렬 시간복잡도가 최악이 O(nlogn), 베스트가 O(n^2)라고 표기되어 있는데 이게 맞나요?