묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 질문입니다..
2일째 고민을 해보았는데..2%까지만 맞고 틀리다고 합니당..ㅠㅠ포기하고 싶지 않은 마음에 도움을 요청합니다!!제가 짠 코드는 이렇습니다!import java.io.*; import java.util.*; // 불이 하나가 아닌 여러개일 수 있다. public class Main { public static int R; public static int C; public static String[][] map; public static int[][] visitedFire; public static int[][] visitedHuman; public static int[] dx; public static int[] dy; public static Node fireLocation; public static Node humanLocation; public static Queue<Node> fireQueue; public static void main(String[] args) throws IOException { // 초기화 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st = new StringTokenizer(br.readLine()); R = Integer.parseInt(st.nextToken()); C = Integer.parseInt(st.nextToken()); map = new String[R][C]; // 0으로 초기화 visitedFire = new int[R][C]; visitedHuman = new int[R][C]; dx = new int[]{0,1,0,-1}; dy = new int[]{-1,0,1,0}; fireQueue = new LinkedList<>(); // 맵 입력 for (int i = 0; i < R; i++) { String S = br.readLine(); for (int j = 0; j < C; j++) { // 불 좌표, 지훈이 좌표 찾기 map[i][j] = String.valueOf(S.charAt(j)); if(map[i][j].equals("J")){ humanLocation = new Node(j,i); map[i][j] = "."; // .으로 변경 }else if(map[i][j].equals("F")){ // 불이 여러개, 불이 아무것도 없을 수 있다. -> 반레 fireLocation = new Node(j,i); fireQueue.add(fireLocation); visitedFire[i][j] = 1; } } } // (1) 불이 이동할 수 있는 최단경로 fireBfs(); // (2) 사람이 이동할 수 있는 최단경로 + 길 비교해야함 humanBfs(humanLocation.y, humanLocation.x); // 가능한 길 찾아서 int result = Integer.MAX_VALUE; // (3) 가장 짧은 최단거리 찾기 (가장자리 찾기) for (int i = 0; i < visitedHuman.length; i++) { for (int j = 0; j < visitedHuman[i].length; j++) { if((0<i && i<R-1) && 0 < j && j < C-1)continue; // 가장자리가 아닌 경우 pass if(visitedHuman[i][j] > 0) { result = Math.min(result, visitedHuman[i][j]); } } } if(result == Integer.MAX_VALUE){ System.out.println("IMPOSSIBLE"); }else{ System.out.println(result); } } public static void humanBfs(int y, int x){ // tkfk visitedHuman[y][x] = 1; Node node = new Node(x,y); Queue<Node> queue = new LinkedList<>(); queue.add(node); while(queue.size()>0){ Node cur = queue.poll(); for (int i = 0; i < 4; i++) { int nx = cur.x + dx[i]; int ny = cur.y + dy[i]; if(nx < 0 || nx >= C || ny < 0 || ny >= R) continue; if(visitedHuman[ny][nx] == 0 && (map[ny][nx].equals("."))){ if(visitedHuman[ny][nx] < visitedFire[ny][nx] || visitedFire[ny][nx] == 0){ visitedHuman[ny][nx] = visitedHuman[cur.y][cur.x] + 1; Node next = new Node(nx,ny); queue.add(next); } } } } } public static void fireBfs(){ while(fireQueue.size()>0){ Node cur = fireQueue.poll(); for (int i = 0; i < 4; i++) { // 4방향 탐지 int nx = cur.x + dx[i]; int ny = cur.y + dy[i]; if(nx < 0 || nx >= C || ny < 0 || ny >= R) continue; if(visitedFire[ny][nx] == 0 && (map[ny][nx].equals("."))){ visitedFire[ny][nx] = visitedFire[cur.y][cur.x] + 1; // 이동함을 표현 Node next = new Node(nx,ny); fireQueue.add(next); } } } } public static class Node { int x; int y; Node(int x, int y){ this.x = x; this.y = y; } } }
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA 쿼리 로깅 관련해서 질문이 있습니다.
선생님 안녕하세요 하나 질문이 있습니다. Jpa 사용할때 쿼리를 로그에 찍도록 설정했고 잘 동작합니다. 그런데 그냥 실행시킬때는 찍히지 않는 쿼리가 브레이크 포인트를 걸어서 한줄씩 실행시킬때는 로그에 출력되는 경우가 있습니다. 혹시 이유가 있을까요? 브레이크 포인트를 걸면 select 쿼리가 더 많이 찍혀서 궁금해 문의드립니다.
-
해결됨모두의 깃 & 깃허브
펫치 후 풀 선택해서 받기
안녕하세요, 펫치와 풀 개념은 알겠는데, 풀을 받을 때 5개 중에 2개만 받고 싶을 때는 어떻게 하나요??svn으로 할 때는 update를 할 때 받고싶은 것만 선택해서 받았는데 깃에서는어떤식으로 처리하나요
-
미해결
Jpa 쿼리 로그 관련 문의
선생님 안녕하세요 하나 질문이 있습니다. Jpa 사용할때 쿼리를 로그에 찍도록 설정했고 잘 동작합니다. 그런데 그냥 실행시킬때는 찍히지 않는 쿼리가 브레이크 포인트를 걸어서 한줄씩 실행시킬때는 로그에 출력되는 경우가 있습니다 혹시 이유가 있을까요? 브레이크 포인트를 걸면 select 쿼리가 더 많이 찍혀서 궁금해 문의드립니다
-
미해결실전! 스프링 데이터 JPA
빌더와 생성자의 보안 차이가 궁금합니다!
setter를 지양하는 이유 중에 하나가 보안성이라고 생각했습니다.그런데 builder를 사용하면 똑같이 보안에 문제가 생기지 않나 의문이 들었습니다.값을 변경하거나 삽입할 때 함수를 따로 만드는 것이 가장 보안성이 좋지만 파라미터가 많을 때 가독성과 편리성을 위해 builder를 사용하는 건가요??
-
해결됨처음 만난 리덕스(Redux)
createStore()와 combineReducers()에 대한 질문
각각의 todoReducer, memoReducer에 initialState를 전달하는 방법말고 createStore() 함수의 2번째 인자로 preloadedState를 전달하는 방법은 없나요?const preloadedState = { todo: initialTodoState, memo: initialMemoState, }; const store = createStore( rootReducer, preloadedState, applyMiddleware(loggerMiddleware), );(추가) 위와 같이 작성 후(각 reducer의 초기 상태 전달 안함), 애플리케이션이 동작하지 않더라구요..!(추가) 해서 GPT에게 물어봤습니다! 그랬더니 답변으로이 방법을 사용하면 preloadedState를 통해 전체 앱의 초기 상태를 한 곳에서 관리할 수 있어 유용합니다. 하지만 이 방법은 각 리듀서에서 초기 상태를 설정하는 방법과 병행해서 사용해야 합니다. 왜냐하면 preloadedState는 앱이 시작될 때 한 번만 사용되고, 그 이후에는 각 리듀서에서 정의한 초기 상태가 사용되기 때문입니다.해서 각 reducer에도 각각의 initialState 배열을 전달하니 동작은 하긴 하는데, 이럴꺼면 굳이 preloadedState를 전달하는 의미가 없는 것 같아서 조금 헷갈리네요..!결론적으로 질문은 아래와 같습니다..!1) 각 reducer에게 초기 상태를 전달하지않고 combine한 reducer를 createStore에 전달할 때, 초기 상태를 전달해서 사용하는 방법이 있나요?
-
미해결홍정모의 따라하며 배우는 C언어
다중 구조체 문의
안녕하세요 수강생 입니다.문의 사항이 있어 글 남깁니다.다중 구조체에 대해 문의남깁니다.예를들어struct test{int a=0;int b=0;}TEST[2][2] *PTEST[2][2]; 이런 식 입니다.이때, 구조체에 접근할 때 주소연산자가 아닌 대입으로 접근이 가능한데 왜 그런가요?예를 들어..PTEST[2][2]->a 는 접근이 안되고 TEST[2][2].a는 접근이 됩니다.
-
해결됨디자인 시스템 with 피그마
피크마토큰의 그룹 이동
안녕하세요! 피그마 토큰에 설정하는 도중에 spacing목록 안에 간격 설정을 만들어야 했는데 실수로 다른 목록 안에 만들었습니다 ㅠ 이미 간격을 다 만들어놔서 그룹을 통째로 옮기고싶은데 방법이 따로 있을까요? 아니면 지우고 다시 만들어야 하나요??
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
error처리 질문드립니다
error처리 질문드립니다.현재 라우터에는 /about1234는 없습니다. http://localhost:5000/about12344 여기입력해서 들어가면 강의처럼 err로 가서 asdasd가 나와야하는걸로 이해하고있습니다. 이렇게 나옵니다.asdasd가 나와야하는거 같은데 뭐가 잘못된건지 잘모르겠습니다.
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
서버사이드렌더링 쿠키저장시 리덕스에 있는 state에 action.data가 새로고침시에 사라짐
로그인시에 서버사이드렌더링으로 쿠키가 저장되고 공유하는건 확인이 됐습니다. 헤드에 저장이 되어 쿠키 저장이 된건 확인이 됐는데 로그인시 리덕스에서 me값으로 action.data가 전달되는데 왜 새로고침시에 state 인 me값이 왜 null 값으로 바뀌는걸까요.. 이것도 서버사이드 렌더링으로 유지가 가능할까요? 여러페이지를 만들시에 페이지이동시에도 처음 로그인시에 me 로 넘겨주는 action.data 값도 유지하고 싶습니다
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
파트별 학습순서
안녕하세요, 학습순서에 대해서 질문드리려고 합니다.파트 3을 완강했고,게임서버4, 디비5, 웹서버6까지 강의를 구매해놓았습니다.저는 컴퓨터공학을 전공했지만 파트4의 내용들이 꽤 어려운 것 같아서, 파트4->파트6순으로 듣는게 맞는것인지 아니면 6->4 순으로 듣는것이 좀더 좋은지, 혹은 아예 독립적인 내용인지 여쭤보려 글 남깁니다.전부 다 수강한다는 전제하에 파트 별 학습순서를 추천해주실 수 있을까요:?감사합니다!
-
미해결자바스크립트 비기너: 튼튼한 기본 만들기
sort 코딩 시간 풀이
안녕하세요sort 코딩 시간 문제를 풀어보았습니다.아쉬운 부분이나 틀린 부분 있다면 말씀해주세요!"use strict"; var value = [101, 26, 7, 1234]; value.sort(function(one, two){ return two - one }); //two - one가 양수인 경우는 뒤에 자리한 수가 더 큰 숫자라는 의미가 되고, 해당 식이 양수이면 배열의 순서가 바뀌게 되니 더 이상 변경되지 않을 만큼 진행된다면 역순으로 배열되게 된다. console.log(value);
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
데이터 베이스가 만들어지지 않을 때
강의 따라해도 생성이 안되서 골머리를 앓았는데 -- This script does not create a database. -- Run this script in the database you want the objects to be created. -- Default schema is dbo. 이렇게 적혀있더라고요. 이제 테이블을 자동으로 생성해주지 않아요 테이블 만들고 코드 복붙하면 데이터가 생깁니다.그럼 이만
-
미해결스프링 핵심 원리 - 기본편
Bean 메소드 오버로딩
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]스프링 빈 저장소에 빈 이름은 메소드명으로 저장된다고 하였습니다. 저장되는 빈 이름은 항상 다른 이름을 부여해야 한다고 하셨고, 같은 이름을 부여하면 오류가 발생되거나 무시가 된다고 하셨습니다.만약, AppConfig라는 class 내에 오버로딩 되어있는 메소드가 있으면 메소드명이 동일하기 때문에 오류가 생기나요? 이런 경우에 빈 이름을 직접 부여해야 하나요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
자바 se 11이 아닌 다른 jdk여도 괜찮을까요?
자바 설치를 하며 se11을하려고하는데 자바 유료에 대한 얘기를 듣고나서 java 17 Azul Zulu version 17.07을 했는데 혹시 강의를 듣는데 이상이 없을까요? 혹은무료 유료와 상관없이 se11은 상관이 없나요???
-
미해결모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
ORA-12514
ORA-12541 에러가 해결되지 않아 질문 드립니다.현재 instantclient 19.15 버전 사용, Oracle 18c 버전 사용 환경입니다. 오류> 위의 사진과 같이 오류가 출력이 됩니다.2. listener.ora, tnsnames.ora 설정> host 부분에 ip, localhost, pc name 전부 시도했지만 1번과 같은 오류가 출력이 되었습니다.환경 변수 편집> 기존 18.0.0 설정을 instantclient경로로 변경을 하면 sqlplus, lsnrctl status명령어가 실행을 할 수 없어 instant 경로를 하나 더 추가 하였습니다.lsnrctl status 실행 결과> 위의 사진과 같이 정상적으로 READY상태임에도 불구하고 1번 사진과 같이 똑같은 오류가 출력이 됩니다.서비스 실행 상태> 모든 oracle 서비스에 대해서 실행 상태임에도 불구하고 오류는 계속 출력 되고 있습니다. 코드<?php // Connects to the XE service (i.e. database) on the "localhost" machine $conn = oci_connect('c##kim', '1234', 'localhost/XE'); if (!$conn) { $e = oci_error(); trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); } $stid = oci_parse($conn, 'SELECT user FROM dual'); oci_execute($stid); echo "<table border='1'>\n"; while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) { echo "<tr>\n"; foreach ($row as $item) { echo " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : " ") . "</td>\n"; } echo "</tr>\n"; } echo "</table>\n"; ?> 현재 작성되어 있는 코드입니다. 커뮤니티에 있는 오류 해결 방법에 대해서 모두 시도해보았는데 진전이 없었습니다. 답변 부탁 드리겠습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
css-in-js 방식에 대해
질문1. 앞으로의 강의를 css-in-js 방식으로 진행하신다고 하셨는데 실무에서 기존 css 방식으로 사용할땐 코드 작성법을 따로 공부해야 할까요?질문2. css-in-js 방식을 사용했을때 지원종료는 했지만 아직 ie11버전을 맞추는 고객들이 있는데 그 경우에서도 사용이 가능한가요?질문3. css-in-js 방식을 사용했을때 - 유지보수나,- 웹접근성 표준, - 그리고 일반적으로 id나class 값을 부여하지 않아도 되는 요소에 들어가는 이름의 용량같은 버려지는 용량에 대한 부분에 있어서 기존 css 보다 알맞고?(적절하고?) 좋은가요 아니면 단순히 작성자의 편의를 위해 사용하는 건가요?
-
미해결한 입 크기로 잘라먹는 타입스크립트(TypeScript)
operation2 처럼 써도 되는 이유를 생각해봤는데 맞나요?
함수가 객체라고 하셨는데함수가 객체이기 때문에 함수의 type을 opration2처럼 설정하면type Operation2 = { (a: number, b:number) : number name: string }이전에 배운, 객체의 업캐스팅 때문에 함수로도 사용할 수 있고 add2.name으로도 사용할 수 있는 것인가요?
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
multer를 사용해서 이미지 업로드할때 db(mysql)에 질문있습니다
uuid를 통해서 file의 원본이름을 변경해서 mysql의 image컬럼에 아래처럼 저장하고있습니다. \images\042c8bb1-e0fd-4005-85e9-68d7c587c02d.png홈페이지를 접속하면(로그인 안되면 로그인 페이지로 이동) 로그인했을때만(jwt 토큰을 발행해서 cookie에 보내주고) 홈페이지를 접속가능하게 하였습니다.홈페이지로 이동하면 이미지들을 볼수있도록 했습니다. 근데 이미지주소 복사하면 로그아웃해도 해당이미지가 나옵니다.제가 하고자는건 로그인했을때만 이미지보여주고 해당 이미지주소입력하면(로그인 안됐을때) 이미지가 안보이도록 하고싶은데 어떻게 해야할까요?db에 image컬럼에 원본이름만 저장하고 다른폴더에 이미지를 저장하고 db 인덱싱을통해서 이미지를 가져와서 이미지를 보여주도록 할려면 어떻게 해야할까요?(db인덱싱을통해(원본이름) 다른폴더에있는 해당이미지 가져오도록 하려면 어떻게해야할지 잘 모르겠습니다). 하나의 게시글에 다중이미지를 업로드하면 다중이미지를 보여주게 할려면 어떻게해야할까요? 현재는 db에 넣으면 num에(ai를통해서) 예를 들어 3장을 업로드하면 num이 1,2,3으로 생성되어서 이미지 경로도 각각 저장되고 홈페이지에서 하나하나씩 보입니다. 그럼 db에 저장을 어떻게해야하나요?사진을보면 밀리미터까지 똑같이 저장이 되는데 하나의 구분에 다중이미지의 주소를 넣을려면 어떻게해야할지요?... 이렇게해놔도 여기로 들어오지도 않고 바로 이미지주소로 검색하면 바로 이미지가 나옵니다.초보자라서 자세히 설명해주시면 감사하겠습니다.
-
해결됨일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
데이터 시각화 강의 질문
안녕하세요 강사님데이터 시각화 강의에서 오류코드가 떠질문드립니다.df_covid19 = pd.read_excel("/content/drive/MyDrive/인프런/코로나 확진자수.xlsx")