묻고 답해요
129만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-M 질문
안녕하세요 큰돌님!회전에 대한 아이디어를 떠올리지 못해서4방향에 대해서 dfs 돌리면서 구현해 보았는데TC는 다 통과하는데 바로 틀렸다고 나와서 질문 드립니다 ㅠㅠ 어느 부분을 신경쓰지 못한 걸까요? 일단 저는 3가지 pair<int,int>형 배열을 사용하고3가지 함수를 구현 했습니다. 우선 3가지 pair<int,int> 배열입니다.pair<int, int> startPos[4] = { {0,0},{20,0},{0,0},{0,20} }; // 위,아래,왼,오 부터 시작할때의 시작 위치 pair<int, int> NextRow[4] = { {0,1},{0,1},{1,0},{1,0} }; // 각 방향에 대해서 다음 줄로 이동하기 위한 pos 양. ex) 위일 경우 한줄하고 다음 열로 가서 해야함 pair<int, int> NextPos[4] = { {1,0}, {-1,0},{0,1},{-1,0} }; // 한 줄에 대해서 다음 Pos로 가기 위한 이동 양. ex) 위일 경우 0번행부터(열고정) 끝 행까지 검사해야 한다.3가지 함수 프로토 타입입니다.void dfs(int cnt, int curIdx); void moving(int dirIdx, int PivotIdx, int InputIdx); void updataMaxRet(int findIdx);dfs : 최대 5번까지의 이동을 하기 위함. dfs에 들어가면 4방향에 대해서 이동한다.dfs에서 각 방향에 대해서 호출되는 함수로. 새로운 배열에 이동된 값들을 넣어준다.이동된 새로운 배열에 대해서 최대값 업데이트 코드 링크는 여기있습니다.http://boj.kr/d56849369aa34f00b3ffea60647a4816
-
해결됨독하게 시작하는 C 프로그래밍
[섹션10 연산자] 필수 실습 문제 합격, 불합격 판단하기
안녕하세요 강사님[섹션10 연산자] 필수 실습 문제 합격, 불합격 판단하기 문제 질문드립니다. 강사님께서는 printf 함수안에 조건(3항)연산자를 넣으셨는데요저는 nSelect이라는 문자열을 선언해서 nSelect에 합격, 불합격이라는 문자열을 저장해서 printf로 출력하는 방식으로 문제를 풀어봤습니다 nSelect이라는 변수에 문자열의 공간!?을 10byte로 선언하고 0으로 초기화 한뒤에 실행을 했더니 실행은 잘 되는데 nSelect이라는 변수에 빨간색 밑줄과 오류 코드가 L-value로 뜨더라구요 왼쪽 피연산자를 변수인 nSelect으로 선언했는데 오류코드가 왜 뜨는건지 모르겠고 오류코드가 뜨는 왜 점수를 80으로 입력하면 '합격', 70으로 입력하면 '불합격'이라고 실행이 잘되는데 왜 그런지 이유가 궁금합니다. 문제가 없는건가요? 일부러 오류를 내보려고 nSelect이라는 변수에 문자열의 공간!?을 1byte로 선언하고 0으로 초기화 한뒤에 실행을 했더니 일단 실행은 잘됩니다. "합격"이라는 글자는 한글이므로 한글자 당 2byte 총 4byte의 크기이고 "불합격"이라는 글자는 3*2 = 6byte라서 nSelect라고 선언한 문자열 변수에 공간에 없어서 실행조차 되지 않아야하는데 실행이 됩니다. 왜 실행이 되는 것일까요? 물론 하단 오류 목록에 '배열의 크기가 0보다 커야합니다.' '상수크기의 0 배열을 할당할 수 없습니다'라는 설명이 있긴하지만 실행은 되어서 의문입니다. 또한 8번째 코드의 L-vaule 오류는 여전히 나옵니다.nSelect 문자열의 크기 선언을 1byte로 하면 역시 실행은 잘되는데 여전히 L-value 오류 항목이 뜹니다 선언한 배열의 크기가 1byte인데 그보다 크기가 큰 "합격", "불합격"이 문자열에 대입되고 실행이 됩니다. 이유가 궁금합니다
-
해결됨스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션
계좌번호를 Long 타입으로 하는 이유가 무엇일까요?!
기초적인 질문일 수도 있으나 궁금합니다...
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-I 문제 , 함수 질문
강의에서는 atoi(s.c_str()) 를 쓰는데혹시 stoi 함수랑 개념이 같나요?두 함수 모두 string 에서 int 형으로 변환하는데어떤 차이가 있나요?저는 for(int i=0;i<m;i++){cin >> s;if(atoi(s.c_str()) == 0) cout<<A[s] << "\n";else cout << B[atoi(s.c_str())] << "\n";} 이 부분을 for(int i=0;i<m;i++){ cin >> s; if(isdigit(s[0])){ cout << B[stoi(s)] << "\n"; } else{ cout << A[s] << "\n"; } }이렇게 해봤네요
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
멤버와 팀의 영속화 순서를 뒤집었을 때(?) 생성되는 query에 대한 질문입니다!
안녕하세요.이상한 코드이긴 하지만 문득 궁금해서 테스트를 해봤습니다.하이버네이트 버전은 6.4.2.Finalh2 데이터베이스 버전은 2.2.224 Team team = new Team(); team.setName("teamA"); Member member = new Member(); member.setUsername("memberA"); member.setAge(49); member.setTeam(team); em.persist(member); em.persist(team);이 경우 발생하는 query는 다음과 같습니다.Hibernate: /* insert for hellojpa.jpql.Member */ insert into Member (age, TEAM_ID, username, id) values (?, ?, ?, ?) Hibernate: /* insert for hellojpa.jpql.Team */ insert into Team (name, id) values (?, ?) Hibernate: /* update for hellojpa.jpql.Member */ update Member set age=?, TEAM_ID=?, username=? where id=?제가 생각한 흐름은 이렇습니다.멤버가 데이터베이스에 동기화된다팀이 멤버에 저장되어 있지만(객체 상으로), 팀 테이블에는 해당 데이터가 없다멤버의 외래키(team_id)가 아직 null이다팀이 데이터베이스에 동기화된다이제 멤버의 외래키를 업데이트 한다외래키만 업데이트 하면 될 것 같은데 외래키를 가진 레코드 전부를 수정한다이 흐름이 맞을까요? 외래키만 업데이트 하는 게 아니라 멤버의 해당 레코드를 전부 업데이트하는 게 생각했던 것과 달라 질문드리게 됐습니다.답변 미리 감사드립니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
리슨서버(호스트) 질문입니다
안녕하세요, 루키스님.개인 프로젝트를 진행하는 중 리슨서버를 구현해보려고 하는데 몇 가지 궁금한 점이 있습니다.리슨서버를 구현하려면 서버 코드를 모두 클라이언트에 이식하고, 컴포넌트로 관리할 수 있도록 수정해야 하나요?만약 1의 가정이 맞다면, 1을 통해 구현된 서버에서 유니티엔진의 기능들을 사용할 수 있지 않을까 생각이 되는데, 만약 된다면 충돌과 관련된 부분을 처리하는데 활용해도 괜찮을까요?유니티 자체에서도 네트워크를 관리해주는 매니저를 제공하는 것으로 알고있는데, 강의처럼 따로 서버를 구현하는 이유는 역시 성능 때문일까요? 현재 생각 중인 방식이 어몽어스와 유사한데요.중앙 서버에서 방을 생성하는 유저(호스트)들의 ip와 방 정보를 가지고 단순히 방 목록을 관리하며 클라이언트들이 접속할 수 있는 역할만 해주고, 클라이언트가 방에 접속하는 순간부터 모든 처리는 호스트가 하게되는... 구조가 맞을까요? 최근 들어 질문을 자주하게 되는 것 같은데..항상 친절히 답변해주셔서 감사합니다.
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
회전시 mesh의 중심점 변경하는 방법 문의
transform rotation 강의를 보고 궁금한 점 문의합니다.mesh의 중심으로 회전이 되고 있는데,회전의 기준점을 바꿀 수 있는지 질문 드립니다.
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
노션 공유 부탁드립니다.
안녕하세요 휴일에 죄송합니다.제가 급히 노션 파일이 필요해 공유 부탁드리겠습니다. 메일주소[moonin1228@gmail.com]입니다.감사합니다. 강의 열심히 봐서 좋은 결과 얻고 싶습니다!
-
미해결백엔드 애플리케이션 성능 테스트하기
test-config.yaml
성능테스트 하게 되면 test-config.yml 파일과 report.json , report.html 파일을 git 에 올리는 편이신가요 ?? 아니면 삭제를 하시거나 gitigrnoe 에 추가하시나요 ?
-
미해결김영한의 실전 자바 - 기본편
인텔리제이
자바 인텔리제이에서 분명 전 다른 패키지에 클래스를 만들고 다른 complie 했는데, 이전 다른 패키지에서 연습한 코드에서 에러가 났다고 뜨면서 코드 실행이 안되는데, 이럴때 유용한 방법이 있나요?
-
미해결김영한의 실전 자바 - 기본편
메서드 영역
여기 이 두 표현이 모순적인 것 같은데, 인스턴스 안에 메서드를 가지는게 맞나요? 어떤 의미에서 각각의 인스턴스가 '내부' 에 메서드를 가진다고 표현되어 있는건지 이해가 잘 안돼요
-
해결됨Backend 멀티쓰레드 이해하고 통찰력 키우기
임계영역에 2개 이상의 스레드가 올 수 있는지요?
안녕하세요섹션4 코드를 보면 requests 라는 오브젝트 키를 사용해서스레드1과 스레드2가 임계영역을 이용중인데서버 함수를 보면 일이 없으면 lock 안에서 wait 즉 대기 상태로 빠집니다 그리고 클라 함수를 보면 일을 넣어주고 다른 스레드를 깨웁니다여기서 의문인게 임계영역 안에서 대기중인 스레드와 실행중인 스레드가 공존할 수 있나요 https://www.inflearn.com/questions/1046075제가 다른 수업에서 한 질문인데 답변에는 ai 답변이긴 하지만그럴 수 없다고 들어서 질문드립니다
-
해결됨디지털포렌식 입문자를 위한 디지털포렌식 전문가 2급 실기 시험대비 강의(Encase/Autopsy)
교수님 문의드립니다
포렌식 강의를 학습중에 있는데요! 너무나 친절하게 잘 알려주셔서 귀에 쏙쏙 들어옵니다. (아직 강의를 다 듣지는 않았습니다.) 다만, 아래와 같이 몇가지 해소되지 않은 걱정이 있어 이렇게 문의 드립니다.1. 기출문제→연도별 기출문제가 있다면 정말 도움이 될 수 있을것 같습니다.2. 보고서 작성 방법→ [문제1] / [문제2] / [문제3]과 같이 별도의 폴더를 만들어서 답변을 하라고 해주셨는데, (기존 자격자 취득자 중)일부에서는 문제 구분없이 전체적으로 보고서를 작성해야한다는 의견을 들어서요. 어떤것이 맞는지 혼란스럽습니다ㅠㅠ
-
미해결스프링 핵심 원리 - 기본편
강의 내용에 나오는 부분을 추가 학습하고 싶은데 어떤 강의를 들어야 할까요?
쓰레드에 관한 개념을 서칭하는데 한계가 있어, 멀티 쓰레드 관련하여 강의를 듣고싶습니다.스프링 로드맵을 따라가고 있는데 이에 대한 설명이 나오는 부분이 있을까요?아니면 김영한 강사님의 자바 강의에 따로 설명이 되어있다면 어떤 강의인지 알려주셨으면 좋겠습니다 ㅠㅠ
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
public FrontControllerServletV1() {} 생성자 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] public FrontControllerServletV1() 생성자가 실행되면,생성자 내부에서 url 주소와 컨트롤러가 매핑되도록 한다는 것은 알겠습니다. 근데 해당 (기본) 생성자를 실행시키려면,어디선가 new FrontControllerServletV1(); 라는 코드를 적어줘야 하지 않나요? 아래 코드를 실행한 결과, 서버클 껐다 킬 때마다 생성자가 1회 실행되던데,왜 자동으로 1회 실행되는거죠?그 어디에도 new FrontControllerServletV1(); 라는 코드는 없는데 말입니다.
-
미해결스프링 핵심 원리 - 기본편
해당 클래스 빈 조회 방법
스프링 컨테이너는 생성자에 클래스 정보를 받습니다. 여기에 클래스 정보를 넘기면 해당 클래스(SingletonBean)가 스프링 빈으로 자동 등록됩니다.여기서 등록된 빈을 조회하려고 하는데 저렇게 name을 singletonBean으로 조회하면 등록된 빈을 찾을 수 없다고 오류가 납니다. 빈 이름으로 조회하고 싶은데 무엇으로 조회해야하나요?
-
미해결Next + React Query로 SNS 서비스 만들기
react-query ssr설정
react-query ssr 설정하기인데 어느 부분이 ssr 설정인지 잘모르겠습니다 어느부분인가요??export async function getPostRecommends({ pageParam }: Props) { const res = await fetch( `http://localhost:9090/api/postRecommends?cursor=${pageParam}`, { next: { tags: ["posts", "recommends"], }, } ); // The return value is *not* serialized // You can return Date, Map, Set, etc. if (!res.ok) { // This will activate the closest `error.js` Error Boundary throw new Error("Failed to fetch data"); } return res.json(); }
-
미해결
JAVA Scanner
package bufferTest; import java.util.Scanner; public class BufferTest {public static void main(String[] args) {Scanner scan = new Scanner(System.in); String a = scan.next(); String[] arr1 = {"a"}; System.out.println(System.identityHashCode(a));System.out.println(System.identityHashCode(arr1[0])); }} 왜 arr[0]과 a의 주소 값이 다른가요..???답변 주시면 정말 감사하겠습니다!
-
해결됨Next + React Query로 SNS 서비스 만들기
7분 45초쯤에 쿼리키 잘 짜는 법 관련하여 문의합니다.
조금 있다가 잘 짜는법에 대해 설명한다 하였는데, 제가 놓친것인지 다음강의에 나오는 내용인지 못들은 기분입니다. 일단 다음 강의 보다가 까먹고 놓치지 않기 위해 문의합니다. 우선 앞에 ""으로 표기한것은 함수 이름 설정하듯이 자기가 의도한대로 넣을 수 있고 몇개를 입력하든 상관 없는 것인가요?params 같은 경우는 마지막에 한번만 객체나 특정 타입 형식으로 넣을 수 있는 것인가요?추가적으로 export default function SearchResult({searchParams}:Props){ ... 에서searchParams가 객체로 한번 더 묶여서 정의되어 들어가는 이유는 그냥 편의상 그런 것일까요?type SearchParams= { q: .....} 로 정의하고 export default function SearchResult(searchParams:SearchParams){ ... 같은 식으로 넣어도 문제 없이 진행할 수 있는지, 아니면 {}객체로 한번 더 묶는 이유가 있는 것인지 궁금합니다.
-
미해결Flutter 중급 2편 - 실전 앱 개발 - 미국 주식 앱 (with 클린 아키텍처)
수업과 관련이 없지만 물을 곳이 없어...교수님께 여쭙니다..
dto랑 이미지 파일을 dio로 이용하여 post 하려는데 뭘해도 400, 415 등등 에러가 나옵니다 혹시 이유를 알 수 있을까요?... 수업내용이 아닌 질문 죄송합니다. Future<void> postUser(UserInfo userDto, XFile? imageFile) async { try { // Dio 인스턴스 생성 Dio dio = Dio(); // 멀티파트 요청 생성 FormData formData = FormData(); // Add userDto as a JSON part formData.fields.add(MapEntry('userDto', jsonEncode(userDto.toJson()))); // Add image file if (imageFile != null) { formData.files.add(MapEntry( 'image', await MultipartFile.fromFile(imageFile.path), )); } // Dio를 사용하여 POST 요청 보내기 Response response = await dio.post( 'http://43.200.217.158:8080/bookstore-0.0.1-SNAPSHOT/user', data: formData, options: Options( headers: { "Content-Type": "multipart/form-data", }, ), ); // 응답 확인 if (response.statusCode == 200) { print("User Data sent successfully"); } else { print('response.statusCode: ${response.statusCode}'); throw Exception("Failed to send data"); } } catch (e) { print("Failed to send post data: $e"); } } ------------------------------------------------------------------------------- 서버 코드 스프링 @PostMapping(value = "/user", consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.MULTIPART_FORM_DATA_VALUE}) public ResponseEntity<ApiResponse> save(@RequestPart UserDto userDto, @RequestPart MultipartFile image) { try { log.info("유저 생성 입장!!"); Long save = userService.save(userDto, image); return ResponseEntity.status(HttpStatus.OK).body(new ApiResponse("Created", "유저 생성 성공", save)); } catch (Exception e) { log.error("e={}", e); return ResponseEntity.status(HttpStatus.NOT_FOUND).body(new ApiResponse("NotFound", "유저 생성 실패", null)); } }