묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-W [2342] 문제 질문입니다.
안녕하세요 큰돌님. 항상 좋은 강의 감사드립니다.7-W에 제가 생각했을때 같은 논리인것 같은데 1%에서 오답으로 떠 질문 드립니다 ㅜㅜ 아래는 제 코드입니다.#include<bits/stdc++.h> using namespace std; int a[100001]; int n; int dp[100001][5][5]; int go(int idx,int left, int right){ if(idx == n) return 0; int &ret = dp[idx][left][right]; if(ret!=-1) return ret; ret = 987654321; int num = a[idx]; //Left if(left == 0) ret = min(ret,go(idx+1,num,right)+2); if(num == left) ret = min(ret,go(idx+1,left,right)+1); if(abs(left-num)==2) ret = min(ret, go(idx+1,num,right)+4); if((num+1)%4 == left || (num!=1 && num-1 ==left) || (num==1 && left ==4))ret = min(ret,go(idx+1,num,right)+3); //Right if(right == 0) ret = min(ret,go(idx+1,left,num)+2); if(num == right) ret = min(ret,go(idx+1,left,right)+1); if(abs(right-num)==2) ret = min(ret,go(idx+1,left,num)+4); if((num+1)%4 == right || (num!=1 && num-1 ==right) || (num==1 && right ==4)) ret = min(ret,go(idx+1,left,num)+3); return ret; } int main(){ while(true){ int num = 0; cin>>num; if(num==0) break; a[n]=num; ++n; } memset(dp,-1,sizeof(dp)); cout<<go(0,0,0)<<"\n"; } 현재 코드에서//Left if(left == 0) ret = min(ret,go(idx+1,num,right)+2); if(num == left) ret = min(ret,go(idx+1,left,right)+1); if(abs(left-num)==2) ret = min(ret, go(idx+1,num,right)+4); if((num+1)%4 == left || (num!=1 && num-1 ==left) || (num==1 && left ==4))ret = min(ret,go(idx+1,num,right)+3); //Right if(right == 0) ret = min(ret,go(idx+1,left,num)+2); if(num == right) ret = min(ret,go(idx+1,left,right)+1); if(abs(right-num)==2) ret = min(ret,go(idx+1,left,num)+4); if((num+1)%4 == right || (num!=1 && num-1 ==right) || (num==1 && right ==4)) ret = min(ret,go(idx+1,left,num)+3);부분만 강의코드와 비슷하게 아래와 같이 바꾸면ret = min(ret, go(idx+1,a[idx],right)+check(left,a[idx])); ret = min(ret, go(idx+1,left,a[idx])+check(right,a[idx]));통과가 됩니다... 다른 많은 예제들도 넣어봤는데 잘 돌아가는데 어디서 잘못 짚은걸까요?? ㅠㅠ
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
인터럽트
프로그램 입출력 방식에서는 전송률이 높은 CPU가 전송률이 낮은 장치 컨트롤러의 상태 레지스터를 계속 확인을 해야 한다는 점이 효율에 있어 문제를 일으킨다고 했습니다.인터럽트 기반 입출력 방식에서는 인터럽트 신호가 발생할 때만 CPU의 관심을 끌어서 이러한 문제가 없다고 했고요.그런데 인터럽트 신호가 발생했는지를 확인하기 위해 CPU는 매 명령어 사이클에서 fetch하기 전에 인터럽트 레지스터를 확인하는 과정을 거치는데, 이러면 프로그램 입출력 방식에서 장치 컨트롤러의 상태 레지스터를 계속 확인하는 것과 별반 다른 점이 없는 것 아닌가요? 어떤 점이 개선이 되었다는 건지 잘 이해가 가지 않습니다.학부 수업을 듣고 제대로 이해가 가지 않아 이 강의를 찾아서 다시 공부하고 있는데, 여전히 헷갈려서 질문 올립니다.
-
해결됨개발자를 위한 쉬운 도커
docker build 시 bus error가 발생합니다
Window 10 사용하고, 강의 앞부분의 gradle로 빌드 후 java -jar로 실행했을 때 실패하는 건 강의와 같지만, docker build로 이미지 빌드 시도했을 때에는 아래처럼 bus error가 발생하면서 안 됩니다. 검색해보니까 메모리 용량 관련 얘기가 많아서 .wslconfig 통해서 이리저리 조절해봐도 그대로네요... Dockerfile 내용은 강의에서의 Dockerfile과 같습니다. 문제가 뭘까요?
-
미해결Java/Spring 주니어 개발자를 위한 오답노트
강의내용 중 Fake Repository 질문
안녕하세요. 강의 잘 듣고있습니다.제가 요즘 TDD에 대해서 이제 막 공부를 시작했습니다. 테스트방법에 대해서 mocking, stubbing이 있더라구요. 강의 내용 중 말씀해주신 FAKE 객체를 만들어서 테스트하는 방식이 Stubbing 방식이란 같은 것일까요? 실무에서도 Mockking 보다는 Stub객체를 만들어서 테스트하는 경우가 더 많은가요?아직 mocking과 stub객체를 사용해서 테스트 하는 방식의 차이나 목적이 이해가 잘 되지 않아서 질문드립니다.
-
미해결
Emirates Airlines Dubai Office
Emirates Airlines Dubai Office is a major hub for one of the top airlines in the world. This office, which is in the center of Dubai, provides a range of customer services, such as bookings, aid with travel, and ticketing. It acts as the hub for overseeing all of the airline's operations, making sure that passengers have a flawless journey. The workplace is a testament to Emirates' dedication to innovation and quality in aviation.
-
미해결업무가 100배 빨라지는 엑셀 데이터 활용과 분석 노하우
실습파일을 못찾겠어요ㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.카테고리2가 어디에 있는걸까요?ㅠ
-
해결됨만들면서 배우는 리액트: 컴포넌트 설계와 리팩토링
state 변경에 따른 리랜더링 범위가 어떻게 되는 건가요?
const handleClick = ()=>{ localStorage.setItem(inputText, inputText); setInputText(''); }제가 처음 생각한 걸론 저 상태에서도 로컬스토리지에 인풋텍스트가 저장되고 setInputText()로 <App> 엘리먼트가 리렌더링 될테니 할 일을 추가하면 바로 화면에 표시가 될 거라고 생각했거든요?실제로 todos를 state로 관리하기 전까진 그런 방식이었던 것 같고, 그런데 삭제 구현 이후에는 어떤 차이로 디스플레이에 반영이 안되는 건가요?만약 <App> 단위로 리렌더링 되는 게 맞다면 todos랑 <ul> 평가할 때 데이터가 바뀌었을테니 리렌더링 되는 게 맞다고 생각이 들었거든요.
-
해결됨AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법
bastion서버가 있을경우 cli로의 접근은 권장되지 않나요??
강사님은 ssh나 sftp툴을 사용하시나요? connect 서비스를 사용하지 않는경우에 bastion서버는 처음사용하는데 cli를 사용하는 저같은경우 두번 접속하는게 조금은 번거롭게 느껴져서 궁금합니다
-
해결됨AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법
java.net.UnknownHostException 에러 관련 질문입니다
현재 환경VPCpublic subnet 2개ALB, Nat gatewayprivate subnet 2개fagateSecurity grouppublic group (80포트 모든 ip허용)private group(80포트 public group아이피만 허용) 여기서 이미지 컨테이너 실행도중 한 컨테이너에서Caused by: ! java.net.UnknownHostException: 690bd678bcf4: Name or service not known와같은 에러와함께 컨테이너 실행이 실패했고스택오버플로우 검색에서 얻은 정보를 통해localhost를 수정하는 sh파일을 도커컨테이너 실행하도록 변경하여 에러를 해결했습니다.(해당 스크립트)#!/bin/bash set -e shift cmd="$@" echo "127.0.0.1 $HOSTNAME" >> /etc/hosts exec $cmd현재 실행된 컨테이너는 아무문제없이 잘 작동하지만제가 이부분에대해 이해가 잘 안되기도하고 올바른방법으로 해결한것인지 불안한감이 있어서혹시나 좋은 피드백을 받을 수 있을까해서 질문올립니다! 위에러는 강의랑 다른구성의 서버실행도중 발생한 에러이고 저또한 정확한 질문을 드린것은 아니라답변이 안될거라 생각되지만 혹시나하는 마음에 올려봅니다!!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 vs 스프링 부트
선생님 안녕하세여 강의 열심히 듣고 있는 학생입니다.다름이 아니라 프로젝트 제작 하려고 하는데 스프링과 스프링 부트 중에 어떤 걸 더 추천하시나요? 선생님 의견이 궁금합니다.
-
해결됨실무에 바로 적용하는 프런트엔드 테스트 - 2부. 테스트 심화: 시각적 회귀・E2E 테스트
4.3 테스트 질문 입니다
시간: 9:00Q. ‘비밀번호를 입력하지 않고 로그인 버튼을 클릭할 경우 “비밀번호를 입력하세요” 경고 메시지가 노출된다’ 를 테스트 할 때, 비밀번호가 입력하지 않은 상태인지 확인하는 부분은 없어도 되는 건가요??비밀번호를 입력하는 요소가 null 인지 확인하는 테스트는 없어도 되는 건가요??
-
해결됨실무에 바로 적용하는 프런트엔드 테스트 - 2부. 테스트 심화: 시각적 회귀・E2E 테스트
5.2 테스트에서 상품 이름 사용, 로그인 세션 질문
Q1. 장바구니, 구매 버튼 클릭 시 해당 상품의 이름을 cy.findByText('Handmade Cotton Fish 장바구니 추가 완료!').should('exist) 상품 이름을 직접 입력하는데, (통합 테스트에서 모킹 데이터를 사용한다면 모킹 데이터는 직접 설정하기 때문에 가능하지만), 실제 api를 사용하면 첫번째 상품 데이터가 변경할 수도 있기 때문에 실패할 수도 있기 때문에 다르게 작성해야 하지 않을까요?? 질문 드립니다 Q2. 로그인을 커스텀 커맨드에서 설정해서 session을 사용해 설정해서 테스트할 때, 웹에서는 로그인 성공/실패 여부는 확인할 수 없는 것 아닌가요??로그인이 실패하게 되면 로그인 관련 테스트는 모두 실패하게 되는데 그냥 이 결과로 로그인 성공/실패 확인을 하는 건가요??
-
해결됨실무에 바로 적용하는 프런트엔드 테스트 - 2부. 테스트 심화: 시각적 회귀・E2E 테스트
5.3 cy.intercept 질문
Q. cy.intercept()는 회원 가입 요청에 대한 성공/실패 응답을 모킹해서 받는데, 이 때 의도하는 코드는 1번이지만 응답이 정해져 있기 때문에 2번처럼 틀린 요청으로도 결과는 똑같이 나오게 될 거라고 생각됩니다. 실제 응답이 아니라 응답을 정해 놓고 전달하기 때문에 실제 동작과 다를 수도 있어서 이 부분은 '실패, 성공 시 문구 노출'이 나타나는 동작이 있다는 document 로만 이해해도 될까요?? 1성공 데이터 요청 -> 성공 데이터 응답실패 데이터 요청 -> 실패 데이터 응답2실패 데이터 요청 -> 성공 데이터 응답성공 데이터 요청 -> 실패 데이터 응답
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
클릭이벤트셋팅실습2 - click text가 없습니다.
variables로 들어갔을 때 click text가 나오지 않습니다. 어떻게 해야 할까요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
선생님 질문입니다!
SS proposal 영역과 GT가 많이 겹칠 수록 그 이미지가 잘 탐지되었다는 것은 알겠습니다. 다만 하나의 예시로 SS proposal은 'TV'를 예측하고 GT의 경우에는 '사람'을 예측했다면 그것은 잘못된거라 생각하는데 GT에는 label 명이 명시가 되어있지만 SS proposal의 경우에는 그런 부분이 어떻게 설정되는가요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
커스텀데이터셋을 만들고 싶습니다
labelme를 이용해서 CRAFT 학습용 커스텀데이터셋을 만드려고 하는데선생님이 제공해주신 CRAFT 디텍션 커스텀데이터셋 처럼935 362 1034 362 1034 411 935 411 "YG9X2G"좌표 "정답" txt 파일로 안나오고json 파일로 저장이 되는데어떻게 해야되나요?
-
미해결실전! 스프링 데이터 JPA
쿼리 힌트 말고 트랜잭션 어노테이션 활용 질문이요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.조회만을 위한 메서드를 작성할때 쿼리 힌트를 사용하는것보다 트랜잭셔널 메소드 레벨 어노테이션에 readOnly=true 속성을 넣어서 읽기 전용으로 사용하면 안되나요?
-
해결됨스프링 시큐리티 완전 정복 [6.x 개정판]
securityMatcher, requestMatcher의 차이점이 뭔가요?
정확히 이해가 안가요http.securityMatcher("/api/**")http.requestMatcher("/api/**")둘다 /api 하위에 보안 필터를 적용하기 위함이 아닌가요?어떤 차이가 있는지 명확히 알고싶어요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의 난이도
안녕하세요. 컴퓨터공학과 3학년학생입니다. 백엔드에 관심이 생겨 스프링 강의를 들으려 강의를 찾아보던중 인프런의 김영한님의 스프링 강의를 알게 되었습니다. 김영한님 강의가 어렵다는 말도 있던데, 스프링 완전 초보자가 들어도 잘 이해할 수 있을지 궁금합니다! 저는 로드맵에서 가장 첫 무료 입문 강의(코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 )를 초반만 조금 들었봤는데 조금 난이도가 있더라고요. 이게 전체적인 흐름을 알려주는거라서 어려운것인가요? 로드맵 뒤에 스프링 핵심 원리 - 기본편도 비슷한 난이도인가요? 더 쉬운편인지 궁금합니다
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
WidgetComponent의 Widget의 GetOwning~() 함수 관련 질문..
궁금한것이 생겨서 아무 의미 없는 액터에 WidgetComponent를 붙인 다음, WidgetComponent의 GetWidget()이 가지고 있는 OwingPlayer 와 OwningPlayerPawn가 무엇인지 확인해봤더니 nullptr 이 나올 것으로 예상한 것과는 다르게실험한 액터와 상관없는, 월드에 있는 PlayerController_0 와 그 빙의된 캐릭터인 Character_0가 반환되는 것을 확인했습니다.WidgetComponent를 어떤 액터가 가지고 있던 간에 항상 같은 PlayerController_0와 Character_0가 반환되는 것 같은데요.제 실험 방식이 원래 말도 안되는 것인지, 아니면 원래 WidgetComponent가 만드는 UserWidget 은 무조건 해당 월드의 LocalPlayer와 그것에 빙의된 Pawn이 고정으로 정해진 것인지가 궁금합니다.