묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 코딩테스트 - it 대기업 유제
바둑대회 질문입니당
안녕하세요! 강의 잘 듣고있습니다! 바둑대회 문제 관련해서 제가 풀어낸 방식은 흑돌팀과 백돌팀 각각 인원을 세어주는 배열과 팀능력치를 계산하는 배열 두 개를 선언하고, 깊이가 다 다랐을 때 정답을 계속해서 초기화하는 방식을 사용했습니다. 예제 코드에서는 문제가 따로 생기진 않았는데 혹시 이런 방식의 풀이도 다른 문제를 접근하는게 큰 문제가 없을지 그리고 다른 입력에도 문제가 없을지 궁금합니다.package DFS; package DFS; import java.util.*; public class 바둑대회 { } class Solution6 { static int[] sum; static int[] teamCount; static int[][] cansArr; static int minNumber; static ArrayList<Integer>[] list; public static int solution(int[][] cans){ int answer; sum = new int[2]; teamCount = new int[2]; cansArr = cans; minNumber = Integer.MAX_VALUE; list = new ArrayList[2]; for (int i = 0; i < list.length; i++) { list[i] = new ArrayList<>(); } DFS(0); answer = minNumber; return answer; } public static void DFS(int lv){ if(lv == cansArr.length){ if(Math.abs(sum[0] - sum[1]) < minNumber){ minNumber = Math.abs(sum[0] - sum[1]); } return; } for (int i = 0; i < 2; i++){ if( teamCount[i] < cansArr.length/2 ){ sum[i] += cansArr[lv][i]; teamCount[i]++; DFS(lv+1); sum[i] -= cansArr[lv][i]; teamCount[i]--; } } } public static void main(String[] args){ Solution6 T = new Solution6(); System.out.println(T.solution(new int[][]{{87, 84}, {66, 78}, {94, 94}, {93, 87}, {72, 92}, {78, 63}})); System.out.println(T.solution(new int[][]{{10, 20}, {15, 25}, {35, 23}, {55, 20}})); System.out.println(T.solution(new int[][]{{11, 27}, {16, 21}, {35, 21}, {52, 21}, {25, 33},{25, 32}, {37, 59}, {33, 47}})); } }
-
해결됨실전! FastAPI 입문
router testcode 문의
router test code 에서 test_main.py 파일에 api.todo라고 main을 바꾸어 줬는데 import를 따로 안 시켜줘도 되나요 ?main.py는 from api import todo로 import 시키는데 test_main.py는 안 그래도 되는지 궁금합니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
yarn install이 안 되는 문제가 있어 남겨봅니다.
Node.js v20.11.1NestJS 10.3.2npm 10.4.0 Yarn 4.1.0강의와 같이 폴더 생성 후 nest new . 로 생성했을 때 yarn install --silent 가 실패했습니다.모두 삭제 후 프로젝트를 만들 폴더에서 nest n cf_sns 로 시도했으나 동일하게 yarn install --silent 가 실패했습니다.nest 로 새 application을 생성 후 해당 폴더 내 yarn.lock 을 만들고 yarn install 을 실행한 후 yarn start:dev 를 실행할 수 있었습니다.저만 그런 건지 모르겠지만 혹시 몰라 기록을 남겨봅니다.---폴더 구성은 이렇게 되던데 최근 뭔가 달라진 걸까요? yarn을 처음 써봐서 잘 모르겠습니다. 🤔---https://yarnpkg.com/features/pnpPnP 때문인가 봅니다.---https://yarnpkg.com/getting-started/editor-sdksPnP 사용 시 VSCode에서 TypeScript가 제대로 작동하지 않는 문제는 이 문서를 통해 해결했습니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTML FORM 사용 부분에서
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]강의에서는회원 등록 폼을 /members/new로 get요청을 통해 회원 등록 폼 화면을 띄우고 회원 등록은 /members/new, /members에서 POST방식으로 데이터를 처리한다고 하셨는데회원 등록을 /members/new_process처럼 별도의 공간에서 데이터 처리를 하는거 안좋은 방식인가요?
-
미해결
연산자 파트 합격 불합격 판단하기 문제 코드
int main(void){int x = 0;int result = 0;printf("Enter score: ");scanf_s("%d", &x);result = x >= 80 ? printf("pass") : printf("fail");return 0;} 이렇게 써도 문제 없나요?
-
미해결카프카 완벽 가이드 - 코어편
vi 에서 wq!명령어가 안 먹혀요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.이렇게 :wq!했는데도 불구하고 저장하고 나가기 기능이 안됩니다 ㅜㅜ
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
PA 도구와 BI 도구의 차이점에 대한 추가 질문
카일님 안녕하세요! 🙂 최근 시간이 날 때마다 강의를 들으며 질문이 많아졌네요ㅠㅠ 번거롭게 해드리지만 항상 답변해주시면 큰 도움이 되고 있습니다 😄 데이터 시각화 도구와 PA 도구와의 차이점에 대해 유저 로그 데이터는 PA 도구를, 데이터베이스 데이터는 데이터 시각화 도구를 사용한다고 이해했습니다.제가 궁금한 점은 데이터 종류에 따라 다른 시각화 도구를 사용하게 되는 것일까요? 즉, 데이터 로그 설계시 수집하기로한 데이터의 소스가 클라이언트면 주로 PA 도구로 분석, 데이터의 소스가 서버면 주로 BI 도구로 분석하게 되는 것일까요?앞서 데이터 로그 설계시 데이터의 Source는 클라이언트와 서버 두 가지 중 데이터 특성이나 데이터 정합성 등에 따라 결정된다고 학습했던 내용으로 인해 헷갈리게 되었습니다 😭
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2 데이터테이블이 안만들어져요
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]https://drive.google.com/file/d/1h-MGfbVOOqUMAtIrqo7Ys52FE4UnV9Am/view?usp=drive_linkMemberRepository를 실행했을 때 오류가 떠요어쩔 수 없이 뒷강의를 듣다가 앞으로 넘어오게 돼서 Order나 Item, Delivery 클래스들이 만들어져 있는데 이것들 때문일까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
복사가 이상하게 됩니다. 어떻게 고쳐야할까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.springframework.jdbc.datasource.DataSourceUtils; import javax.sql.DataSource; import java.sql.*; import java.util.ArrayList; import java.util.List; import java.util.Optional; public class JdbcMemberRepository implements MemberRepository { private final DataSource dataSource; public JdbcMemberRepository(DataSource dataSource) { this.dataSource = dataSource; } @Override public Member save(Member member) { String sql = "insert into member(name) values(?)"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); pstmt.setString(1, member.getName()); pstmt.executeUpdate(); rs = pstmt.getGeneratedKeys(); if (rs.next()) { member.setId(rs.getLong(1)); } else { throw new SQLException("id 조회 실패"); } return member; } } } } catch (Exception e) { throw new IllegalStateException(e); finally { close(conn, pstmt, rs); @Override public Optional<Member> findById(Long id) { String sql = "select * from member where id = ?"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setLong(1, id); rs = pstmt.executeQuery(); if(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return Optional.of(member); } else { return Optional.empty(); } } } } } catch (Exception e) { throw new IllegalStateException(e); finally { close(conn, pstmt, rs); @Override public List<Member> findAll() { String sql = "select * from member"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); List<Member> members = new ArrayList<>(); while(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); members.add(member); } } } } } return members; catch (Exception e) { throw new IllegalStateException(e); finally { close(conn, pstmt, rs); @Override public Optional<Member> findByName(String name) { String sql = "select * from member where name = ?"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setString(1, name); rs = pstmt.executeQuery(); if(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return Optional.of(member); } return Optional.empty(); } } } catch (Exception e) { throw new IllegalStateException(e); finally { close(conn, pstmt, rs); } private Connection getConnection() { return DataSourceUtils.getConnection(dataSource); } private void close(Connection conn, PreparedStatement pstmt, ResultSet rs) { try { if (rs != null) { rs.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (pstmt != null) { pstmt.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (conn != null) { close(conn); } } catch (SQLException e) { e.printStackTrace(); } } private void close(Connection conn) throws SQLException { DataSourceUtils.releaseConnection(conn, dataSource); } }이런식으로 복사됩니다. 매번 이래서 크롬으로 변경해서 복사해도 똑같네요..
-
미해결스프링 시큐리티 OAuth2
Token Decoder
저는 업무 환경 상 버전이 다르게 진행하고 있고,org.springframework.boot version "3.2.1"security version "6.2.1"개념과 과정을 강의를 통해 도움 받고 있습니다.궁금한 것은 Authorization Server 에서 강사님이 설정하신 바와 같이 JwtSource 설정을 넣으니, Resource Server 에서 다른 알고리즘으로 파싱이 안된다는 에러가 나더라구요.@Bean public JWKSource<SecurityContext> jwkSource() throws NoSuchAlgorithmException { RSAKey rsaKey = generateRsa(); JWKSet jwkSet = new JWKSet(rsaKey); return (jwkSelector, context) -> jwkSele ctor.select(jwkSet); }[DefaultJWTProcessor]new BadJOSEException("Signed JWT rejected: Another algorithm expected, or no matching key(s) found"); Authorization server 에서 Token발행 과정을 디버깅하면DelegatingOAuth2TokenGenerator > JwtGenerator에서 alg : RS256, encoder 는 NimbusJwtEncoder 로 토큰이 저장됩니다. Resource 서버에서 NimbusJwtDecoder 를 통해 진행되기는 하나 header key 가 RSA 로 들어오던데요. Authorization server 의 jwkSource 설정을 모두 주석처리하니, 더 이상 키 불일치 에러는 발생하지 않더라구요. 버전 상의 문제일지 양쪽 서버에 뭔가 다른 설정이 필요했을지 궁금해서 문의 남깁니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
피그마 데브모드
피그마 로그인하고, 데브모드로 변경되지 않아 CSS 속성을 확인할 수 없어요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-I 지문 문제
http://boj.kr/ea0856e69f854bb9afee8490ed73794d 코드의 질문은 아닙니다.. 지문의 (하지만 하나의 파닭에는 하나 이상의 파가 들어가면 안 된다.) 라는 부분을 읽고 파는 무조건 나뉘어져야 한다. 라고 생각하고 조건을if(temp>mid)으로 달았었거든요 어디서 틀렸나 강의 봤는데if(temp>=mid) 였더라구요이렇게 되면 파를 통째로 사용하게 되는 경우도 생겨 오답인 것이 아닌가요?코드 질문은 아니여서 올릴까 말까 하다가.. 찜찜해서 질문드립니다!
-
미해결신입사원에게 들려주는 - MCU SW 직무 기초 개념완성
어셈블리어
어셈블리어와 기계어는 서로 다른거로 알고있는데 같은 말이라고 강의에 나와서, 혹시 왜 같은건지 알 수 있을까요?제가 알기론, cpu가 이해하고 읽을 수 있는 건 바이너리 코드인데 이 바이너리 코드를 사람이 쉽게 사용하지 못해서 나온것이 어셈블리어라고 알고 있습니다.
-
미해결김영한의 실전 자바 - 기본편
질문있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요 강사님 문제와 풀이 중 이해안가는 것이 하나 더 있어서 질문드립니다. createorder메소드 부분에서 반환타입이 ProductOrder로 되어있는데 ProductOrder클래스를 써서 ProductOrder로 쓰신건가요? 궁금합니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-A 치킨 배달 시간초과 관련 질문 입니다!
http://boj.kr/5b5feb84a65f44c19188df5fbe697fe6선생님의 풀이와 크게 다르지 않은거 같은데 어디서 시간초과가 나는지 잘모르겠습니다...
-
미해결STM32 CAN 통신
설정문의
안녕하세요.핀맵연결과 문의가 있습니다.CAN 핀맵을 어떻게 해야 하는건가요?? cn10_12이 어디있는건가요?canl와 canl연결이 이해가 안됩니다. 개인적인 건의사항 입니다만 내부 ST-LINK 사용으로 설정이 완료된 제품을 판매하실 계획은 없으신가요?감사합니다.
-
해결됨[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
피그마 질문입니다
컴포넌트 프로퍼티 값을 off 했는데 다른 아이콘은 다 회색으로 색이 바뀌는데 이 아이콘만 색이 바뀌질 않네요.. 아웃라인도 다 깨주었는데 왜 저 아이콘만 색이 안 바뀔까요.?
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
상태코드 404 vs 204
안녕하세요! 프로젝트 도중에 에러 상태코드를 어떤걸 내려주는 게 맞는지 모르겠어서 질문 남깁니다!ex) @GetMapping("/{memberId}") public ResponseEntity<MemberResponse> findById( @PathVariable Long memberId ) { MemberResponse response = memberService.findById(memberId); return ResponseEntity.ok(response); } public MemberResponse findById(Long id) { Member member = memberRepository.findById(id) .orElseThrow(() -> new BusinessException(MEMBER_NOT_FOUND)); return MemberResponse.from(member); }위와 같이 Member를 조회하는데 만약 Id에 해당하는 Member가 DB에 존재하지 않다면 204, 404중에 어떤 상태코드를 내려주는 게 맞나요??
-
미해결김영한의 실전 자바 - 기본편
문제와 풀이 질문있습니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요 강사님 문제와 풀이도중 이해가 잘 안되서 질문드렸습니다. orders배열에 참조값이 들어있기에 printorder(orders)까지는 이해가 되는데 printorder 호출 후, printorder메소드 ()안에 ProductOrder[] orders 배열이 들어간 것이 이해가 잘 안됩니다. printorder 호출 후 ProductOrder[] orders = orders로 참조값을 넣기 위해서인가요??
-
미해결
mac에서 vscode 실행이 전혀 안됩니다...
코린인데요.....코드 작성 후 실행하려니까 아래와 같은 문구가 뜨고 진전이 없네요구글링을 해도 영어 자료만 뜨고 해결방법과 유사하게 하려고 json파일도 수정해 보고 컴파일 path도 수정해보고 해봤는데도 계속 안되서 미칠 것 같네요 고수분들 도움 주시면 정말정말 감사하겠습니다