묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-E 재귀함수 범위관련 질문 있습니다
안녕허세요 강사님강사님 풀이 과정을 3번 이상 듣고 코드를 여러번 봤는데도 잘 이해가 안가는 부분이 있어서 질문드립니다! 강사님 코드기준(해설집) 11번째줄과 12번째줄에for(int i = y; i < y + size; i++){ for(int j = x; j < x + size; j++){이렇게 i 와 j 의 범위를 나누셨는데왜 y가 0 일때 모든 x 값 비교하고 재귀하고이런식으로 만든 이유가 궁금해서 질문합니다. 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래 이렇게 한 묶음으로 검사를 하고 그 값을 return 하고 해야 맞지 않나요 ?제가 풀었던 범위 나누기와 달라서 너무 헷갈려서 질문합니다. #include <iostream> using namespace std; // 좌상 우상 좌하 우하 const int dy[4] = { -1, -1, 0, 0 }; const int dx[4] = { -1, 0, -1, 0 }; int N; char adj[65][65]; string ret; string QuardTree(int y, int x, int n) { string str; if (n == 1) return str += adj[y][x]; n = n >> 1; // n -> 2 for (int i = 0; i < 4; i++) { int ny = y + dy[i] * n; // 2 --> 1 int nx = x + dx[i] * n; str += QuardTree(ny, nx, n); } if (str == "0000") str = "0"; else if (str == "1111") str = "1"; else str = "(" + str + ")"; return str; } int main() { cin >> N; for (int y = 1; y <= N; y++) { string temp; cin >> temp; for (int x = 1; x <= temp.size(); x++) adj[y][x] = temp[x - 1]; } ret += QuardTree(N, N, N); cout << ret; return 0; } 혹시 질문이 이해가 안가실까봐 제 코드 풀이도 올려요
-
미해결C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)
작동이 안되네요
1.12 플레이어 구현하기-플레이어 게임오브젝트 수강중인데요, 따라서 하고있는데 재생을 누르면 오류가 뜹니다.왜 이러는지 알려주세요... 스크립트)using UnityEngine; public class PlayerController : MonoBehaviour { void Start( ) { GameObject.setactive(false); 오류내용All compiler errors have to be fixed before you can enter playmode!UnityEditor.SceneView:ShowCompileErrorNotification () Assets\Scripts\Player\PlayerController.cs(7,16): error CS0117: 'GameObject' does not contain a definition for 'setactive'
-
해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
plugin이나 thirdParty로 있는 모듈의 파일 접근
플러그인은 메인 게임 모듈.build.cs에 모듈 추가 안해도 되는 건가요??? 그리고 메인 모듈에있는 클래스에서 플러그인에 있는 헤더파일을 include 하려할 때, 인텔리전스 자동완성 추적이 안되는 것 같던데 원래 그런가요???
-
해결됨웹 개발자라면 꼭 알아야 할 보안 기초
방화벽
웹 보안의 구성 중 방화벽에서 "방화벽은 애플리케이션(웹 서비스 자체)에 대한 공격은 못 막습니다'라는 말이 이해가 잘 되지 않습니다. 조금 더 구체적으로 설명 부탁드리고 싶습니다.
-
해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
오브젝트를 NewObject로 생성할 때 클래스에 생성자 인수가 있다면
NewObject로 생성할 때, 패키지 관련 인자를 넣어서 만드는 것 같은데요. 만약 객체 정의에 매개변수가 있는 생성자 함수가 있고 이 생성자로 객체를 생성하고 싶다면 어떻게 해야 하나요?
-
해결됨[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]
28_파일다운로드하기(한글깨짐 방지) 수업 중
안녕하세요 수업 듣는 중에 이해가 가지 않는 부분이 있어서 질문 드립니다.중간에 저렇게 인코딩 하는 이유를 잘 모르겠어서 여쭙니다.클라이언트로부터 넘어온 파일 이름에 한글이 있는 경우 깨지지 않게 하기 위함이라고 주석을 달아주셨는데파라미터로 넘어온 filename이 깨져서 인코딩 해주는 건가요? 그렇다면위에 File 객체에 들어가기 전에 인코딩 해줘야 하는 거 아닌지좀 헷갈려서 여쭙니다.또 인코딩을 한다면 디코딩은 어떻게 해야 하는지 여쭙니다.
-
미해결홍정모의 따라하며 배우는 C++
Heap 은 메모리의 위치가 어디에 있는지 모른다는 언급을 하셨는데
그러면 CPU가 메모리에서 읽어올 때 하는 캐시에서도 손해를 볼 수 있나요? 아니면 그것도 감안하고 데이터를 캐싱하나요? c++과는 관련 없는 질문이지만 혹시 답변 가능하시면 감사하겠습니다.
-
미해결Slack 클론 코딩[실시간 채팅 with React]
WebSocket 연결 에러 질문
import { useCallback } from 'react'; import io from 'socket.io-client'; // 아무 key값이 들어올수 있으니 이런 형식으로 타입 지정 const sockets: {[key: string]: SocketIOClient.Socket} = {}; const backUrl = "http://localhost:3095"; const useSocket = (workspace?: string): [SocketIOClient.Socket | undefined, () => void] => { const disconnect = useCallback(() => { if(workspace) { sockets[workspace].disconnect(); // 연결 끊을때는 지우기 delete sockets[workspace]; } },[workspace]) if(!workspace) { // 한번 맺었던 연결을 끊는 함수 (끝맺음을 잘하자) return [undefined, disconnect]; } sockets[workspace] = io.connect(`${backUrl}/ws-${workspace}`,{ transports: ['websocket'], }); return [sockets[workspace], disconnect] } export default useSocket; const [socket, disconnect ] = useSocket(workspace); useEffect(()=>{ if(channelData && userData){ socket?.emit("login",{id : userData.id, channels: channelData.map((y)=> y.id)}); } },[userData, channelData, socket]); // socket연결을 끊어줄 때 useEffect(()=>{ return () => { disconnect(); } },[workspace, disconnect]) 버전이 달라서 이런 현상이 생기는건지 잘 모르겠습니다. ..
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
private static Map<Long, Member> store = new HashMap<>(); 코드 이해가 안가요
Member.javapackage Hello.hellospring.domain; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } MemoryMemberRepository.javapackage Hello.hellospring.repository; import Hello.hellospring.domain.Member; import java.util.*; public class MemoryMemberRepository implements MemberRepository { private static Map<Long, Member> store = new HashMap<>(); private static long sequence = 0L; @Override public Member save(Member member) { member.setId(++sequence); store.put(member.getId(), member); return member; } @Override public Optional<Member> findByid(Long id) { return Optional.ofNullable(store.get(id)); } @Override public Optional<Member> findByName(String name) { return store.values().stream() .filter(member -> member.getName().equals(name)) .findAny(); } @Override public List<Member> findAll() { return new ArrayList<>(store.values()); } public void clearStore() { store.clear(); } } MemoryMemberReposirory.java 코드에서 private static Map<Long, Member> store = new HashMap<>(); 부분이 이해가 가질 않습니다..ㅠㅠ Map으로 <키 , 값>을 받으려고 하는것까진 알겠는데 왜 키는 id의 데이터타입인 Long으로 들어가는데 값은 name의 데이터타입인 String으로 들어가는것이 아닌 Member 객체로 들어가게 되는건가요..??
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
트랜잭션 사용 유의점
안녕하세요. 지난번 질문에 빠른 답변감사합니다. 트랜잭션 공부 중 주의사항에 대한 블로그 글을 짧게 봤는데요, 트랜잭션은 꼭 필요한 최소의 코드에만 적용하는 것이 좋다는 내용이었습니다. 결제 부분만 트랜잭션을 사용하고 나머지 게시판, 채팅 등 다른 기능 구현시 굳이 트랜잭션 사용 안해도 되는거죠?
-
미해결Flutter 중급 1편 - 클린 아키텍처
noteRepository 추상클래스 테스트에 관한 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 클린아키텍쳐를 열심히 학습중인데요 추상클래스(noteRepository)를 만드는 이유가 테스트가 원활하게 가능하게 추상클래스를 만든다고 했는데그러면 테스트코드를 작성할때 추상클래스(noteRepository)에 대한 테스트와 구현체 클래스(noteRepositoryImpl)에 대한 테스트를 각각 작성하는게 좋은 방법일까요? 그렇다면 추상클래스는 메서드만 정의되어있는 상태인데 어떤방식으로 테스트코드를 작성해야할까요?
-
미해결웹 게임을 만들며 배우는 React
npx webpack 실행 시 최대 용량이 500kb 제한으로 출력됩니다.
안녕하세요! 제가 강의를 보며 npx webpack 명령어를 실행하고 아래와 같은 에러를 만났습니다.아래는 제 webpack.config.js 파일입니다.npx webpack 명령어를 실행하면 /dist/app.js 파일이 생성되기는 하지만 깔끔하지 않은 모습입니다. 우선 17강까지 듣고 잠시 멈춰둔 상태입니다. 검색해도 원인을 좀처럼 찾기 힘들어서 문의글 남겨봅니다. 감사합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
검증 데이터 분리시
검증 데이터 분리 시 타겟하는 컬럼을 왜 빼는지 잘 모르겠습니다!!
-
미해결선형대수학개론
linear independence이라면 왜 one-to-one인가요?
잘 이해가 되지않습니다...
-
해결됨[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
request와 selenium 차이 질문
안녕하세요 선생님 기본편 수강 이후 실전편 강의 학습하고 있는 학생입니다!! 기본편 후반부에 selenium을 학습했던 터라 지금 '뉴스 본문 링크 가져오는 방법' 강의에서 선생님께서 직접 먼저 만들어보라고 하신 프로그램을 저도 모르게 selenium을 이용해서 만들려고 했습니다. 그리고 강의를 쭉 이어보니 선생님께서는 requests 라이브러리를 사용하신 것을 확인했습니다. 전에 동적 페이지인지, 정적 페이지인지에 따라 selenium과 requests를 구분해서 사용하신다고 하셨던 것으로 기억하는데, 이번 강의 내용인 뉴스 본문 링크도 정적 페이지라 requests를 사용하셔서 프로그램을 만드신 건지 궁금합니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
Exception 예외를 지양해야되는 이유에 대해
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 Exception 예외를 지양해야되는 이유로 어떤 예외를 잡을건이 어떤 예외는 안잡을건지 알 수 없기 때문이라고만 설명해주셨는데, 그냥 다 잡아버리면 안되는 이유가 있을까요??Exception이면 의존 관계도 문제될거 없어보이는데 자세한 이유를 알 고 싶습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-D 영역 범위 관련 질문드립니다.
선생님께서는 입력 받은 값x1,x2y1,y2로 범위를 정하고 그에 해당하는곳에 1의 값을 넣어 주었는데그 값이 배열에서의 값과는 다른데--> 입력이 5 7 3 0 2 4 4 1 1 2 5 4 0 6 2다음과 같이 주어 졌을때(0,2) ~ (4,4) 부분에 해당하는 배열의 값들을 보면a[1][0] a[1][1] a[1][2] a[1][3]a[2][0] a[2][1] a[2][2] a[2][3]인데 왜 범위를 for(int x = x1; x < x2; x++){ for(int y = y1; y < y2; y++){ a[y][x] = 1; 다음과 같이 나누어 그 값을 바로 넣었는지 궁금합니다. 제 생각은 y좌표의 위치를 뒤집어서 생각하는 것이기에 모든 값들도 똑같이 뒤집어서 넣는거는 상관없어서 넣은것 같은데 맞을까요??
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
트로트 리스트 파일 빌드시 성공은 하지만 앱 실행이 죽어요
https://github.com/bongryeong/wonderland
-
미해결냉동코더의 알기 쉬운 Modern Android Development 입문
Flows 와 Coroutine
안녕하세요, Flows 강의를 듣는와중에 문의사항이 있어 질문드립니다. 강의 내용을 캡쳐한 것인데요.여기서 launch{ } 를 통해 코루틴이 생성되고 simple() Flow 가 실행이 되는데 flow도 코루틴으로 이루어져 있어서 마치 동시에 실행되는 것처럼 보이는게 제대로 이해한건지 궁금합니다.만약 simple() flow 대신 println("test") 와 같은 메인Thread 를 사용하는 함수가 작성되어 있었다면 test가 먼저 찍히고 I'm not blocked 1 이 먼저 나오는게 맞을까요??아니면 I'm not blocked 1 이 나오고 test 가 찍히는게 맞을까요..?
-
해결됨독하게 시작하는 C 프로그래밍
섹션 9, 표준 입/출력 관련 질문입니다!
널널한 개발자님! 항상 좋은 강의 감사드립니다ㅎㅎ다름아니라 섹션 9의 문자, 정수 입력과 개행문자 제거 부분에서 풀리지 않는 부분이 있어 이렇게 질문을 올리게 되었습니다.강의 중 24:28 쯤, "퍼올려도 N이 남는다"라는 부분이 이해가 잘 가지 않는데요!제가 이해한 바로는 scanf_s 함수에서 %d\n의 형태로 데이터를 받기 때문에 입력 버퍼 내부에 개행문자도 함께 삭제됐으므로 다음 개행 문자를 입력받을 때까지 사용자 입력을 계속 요청하는 것으로 알고 있었는데, 엔터를 쳐도 개행문자를 인식했음에도 계속해서 개행문자가 남는 이유에 대해서 알고 싶습니다!다시한번 감사드리고, 추운 날씨 몸 건강도 잘 챙기시기를 바라겠습니다. 화이팅입니다!