묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-H 성곽문제 dfs 매개변수 중 cnt는 없어도 되는거 아닌가요??
이미 전역변수로 cnt를 선언 했는데 매개변수로 넣어서사용해야하는 이유가 있을까요? 다른 건 이해했는데 이부분은 어떤건지 궁금하네요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 뭐가 틀렸는지 모르겠습니다.
예제는 정답이 맞는데, 제출하면 틀렸다고 나옵니다. 어디가 틀렸는지 모르겠습니다. http://boj.kr/b61061763b9a4449ab7c47ebf5a2d130감사합니다.
-
미해결자바 코딩테스트 - it 대기업 유제
바둑대회 PDF답/ 정답코드 답이 다릅니다 ㅠ
바둑대회answer=10000000; 의 위치가PDF 와 정답코드가 서로 다릅니다.위치가 서로 달라도 정답은 일치할 줄 알았는데정답이 다르게 나옵니다.왜 그럴까요 ㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
0주차 재귀함수
재귀함수를 사용하면 마치 DFS처럼 사용이되는데,f(4)에서 f(3)과 f(2)중 둘중 아무거나 먼저 호출되어도 상관이없는거 아닌가요? 어떠한 기준으로 f(3)이 먼저 호출되는지 궁금합니다..!
-
해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
어디가 잘못된 것인지 모르겠습니다.
import java.io.*; import java.util.*; public class Main { private int solution(int n, int[][] arr) { int[] cntArr = new int[n]; int answer = 0, max = 0; for (int i = 0; i < n; i++) { int cnt = 0; for (int j = 0; j < 5; j++) { boolean flag = false; int cur = arr[i][j]; for (int k = 0; k < n; k++) { if (i == k) continue; int compare = arr[k][j]; if (cur == compare) { flag = true; break; } } if (flag) cnt++; } cntArr[i] = cnt; max = Math.max(max, cntArr[i]); } for (int i = 0; i < n; i++) { if (cntArr[i] == max) { answer = i+1; break; } } System.out.println(Arrays.toString(cntArr)); return answer; } public static void main(String[] args) throws IOException { Main main = new Main(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[][] arr = new int[n][5]; StringTokenizer st; for (int i = 0; i < n; i++) { st = new StringTokenizer(br.readLine()); for (int j = 0; j < 5; j++) { arr[i][j] = Integer.parseInt(st.nextToken()); } } System.out.print(main.solution(n, arr)); } } 첫 번째 순회문(i)은 학생 번호를,두 번째 순회문(j)은 학년 번호를,세 번째 순회문(k)은 학생 번호를 순회하기 위한 for문입니다. 모든 학생을 일일이 순회하는데, 해당 학생이 위치한 학년의 학생들과 k 순회문으로 비교하는 로직입니다.(해당 학생이 위치한 학년을 비교하는, 열을 기준으로 비교하는) cntArr 배열에 각 학생의 같은 반인 횟수를 집어넣고, 최종적으로 그 중 가장 큰 값인 인덱스를 찾아 +1을 한 값을 반환합니다.이 풀이법이 틀린 이유가 무엇인가요..ㅜ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간초과 문제
안녕하세요, 수강생입니다. 혹시 시간초과가 나서 혹시 제가 실수한게 있을까요..?https://www.acmicpc.net/submit/1940/62536370ㅜㅜ,,,
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
백준 입력을 터미널에 복붙할 때 출력이 되버리는 이슈
안녕하세요~좋은 강의 잘 보고 있습니다.1 - G를 풀 때, 백준 입력을 그대로 터미널에 붙여 넣는 경우(복사 버튼 사용)에 아래 캡처와 같이 출력이 함께 되어 버리는데 이 케이스를 해결하는 방법을 혹시 아실까요? 해당 이슈 때문에 백준 제출 시에는 문제가 없는데 VSC에서 정답인지 아닌지 출력을 제대로 확인할 수가 없네요...참고로 위 출력 이슈의 소스코드는 문제 해설의 소스코드와 동일합니다.
-
해결됨글로벌 개발자로 성장하는 < 코딩 실무 영어 /> 마스터 클래스
궁금한 점이 있으시면 언제든 편하게 말씀해 주세요!
안녕하세요 수강생 여러분,본 코딩 영어 클래스를 수강해 주셔서 정말 감사합니다.궁금한 점, 문의사항이 있으시면 언제든지 편하게 말씀해 주세요 :)긱하우스 장진호 드림
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 다른 방법 질문
http://boj.kr/f1072a98c98a404992c7700849705b0c강의 듣기 전 작성해본 코드입니다.위치랑 시간 업데이트for문으로 상하좌우 탐색 이 때 push 시 시간도 같이 저장시간이 바뀌면 불 업데이트1~3번 반복 하는 도중 탈출 성공하면 return코드 시행 시 메모리 초과가 나오는데 어디에서 초과가 되는지 모르겠습니다.제 생각에는 아마 while 안의 push 부분에서 일어나는 것 같은데 pop을 해주는데도 메모리 초과가 일어날 수 있나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-W [2342] 문제 풀이 질문입니다.
강사님 안녕하세요,7-W 문제 조건 중에 최초 0,0 위치를 제외하고는 양발이 같은 위치에 있을 수 없다고 되어있는데요.풀이를 보면 왼발을 움직인 경우/오른발을 움직인 경우 각각에 대해서 min 값을 취하긴 하지만, 위에 말씀드린 양발이 같은 위치에 있는 경우에 대해 배제하는 조건이 없는 것 같아서요.현재 상태에 대한 발의 위치를 아래와 같이 나타낸다고 할 때,(왼발 위치, 오른발 위치)현재 상태가 (1,2) 이고 다음 밟아야하는 위치가 1 이면(1,2) 로 그대로 두거나, (1,x) 로 이동하는 경우만 있을 수 있는습니다.하지만, 풀이의 solve 함수에서, v[target] = 1 이 되니까,int left 의 경우에는 이므로 (1,2) 그대로 있지만,int right 의 경우에는 (1,1) 에 대해 solve 함수가 호출되지 않을까 생각이 됩니다.어쨋든 움직이지 않는 경우 (1,2) 가 노력이 덜 들어가므로 left 가 선택이 되었을 것으로 추측이 되지만, (1,1) 로 흘러들어간 DFS 가 이후에 어떤 값을 내보낼지 알수가 없을 것 같아서요문제는 통과했지만, 양발이 같은 위치에 들어오는 경우는 배제해야하지 않을까요?제 코드는 다음과 같습니다.http://boj.kr/8617c099286e4650b615631a7d5974cb
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
맞왜틀 ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/93b33cb812b94777862c0d948104ad7f이 코드인데 왜 틀렸는지 도저히 모르겠습니다. ㅠㅠㅠ
-
미해결[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법
작은 값 찾기, 이렇게는 왜 안 되나요?
코틀린은 왜 이렇게까지 null 확인에 집착하는지 모르겠네요..왜 아래와 같이는 안 되나요?fun solution(list: ArrayList<Int>) : Int{ //val minimum:Int? = list!!.minOrNull() //이건 나오고 //val sum:Int? = list!!.sum()//이것도 나오는데 //val result:Int? = sum.toInt() - minimum.toInt() //이것은 안 나옵니다. return list!!.sum().toInt() - list!!.minOrNull().toInt()//이렇게도 안 나오네요.. ㄷㄷ}
-
미해결[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법
알파벳 숫자 세기, mutableMap value 값 변경
제 주력 언어는 파이썬인데, 코틀린을 배우는데... 코틀린은 파이썬과 다르게 기능이 별로 없네요.알파벳 숫자 세는 것을 아래와 같이 하려고 하는데, value+=1이 안 됩니다. 어떻게 해야 하나요?fun solution( str : String ): Map<String, Int>{var result = mutableMapOf<String,Int>() for (i in 0..str.length-1){var currLetter = str[i].toString()//이 부분에서, 문자열을 인덱싱했으니 당연히 타입은 그대로일 줄 알았는데 Char()라고 합니다. ㄷㄷㄷㄷ 이건 왜 인가요?if (currLetter in result.keys){result[currLetter] = 2 /// 제가 하고 싶은 것: result[currLetter] += 1//전체적인 틀의 문제인가 싶어서, 강제로 2를 할당시켜봤더니 이 부분은 정상적으로 작동합니다. 그런데 1을 더하는 것이 안 되네요, 자바와 파이썬 모두 가능한 것으로 알고 있는데 왜 안 될까요? 인터넷 검색을 해봐도, 딱히 +=1이 되는 것 같지는 않네요. 자바처럼 Counter()를 써야 하나요?//혹시 몰라 아래와 같이 해보니까, 이것 또한 안 됩니다.//둘 모두 아래와 동일한 에러가 나옵니다./*Operator call corresponds to a dot-qualified call 'result[currLetter].plus(1)' which is not allowed on a nullable receiver 'result[currLetter]'.*///어떻게 해야 하나요???temp = result[currLetter]result[currLetter] = temp +1}else{result[currLetter] =1} }return result}
-
미해결자바 코딩테스트 - it 대기업 유제
공 굴리기 질문드립니다.
이렇게 작성하니까 배열 범위가 벗어낫다고 하는데, 어디가 벗어나는지 잘 모르겠습니다. import java.awt.List; import java.util.*; class Node implements Comparable<Node>{ int x; int y; int c; Node(int x, int y, int c){ this.x=x; this.y=y; this.c=c; } @Override public int compareTo(Node o) { return this.c - o.c; } } class Main { public static int n,m; public static int INF = (int)1e9; public static int[][] cost; public static int[] dx = {0,0,1,-1}; public static int[] dy = {1,-1,0,0}; public int solution(int[][] board, int[] s, int[] e){ int answer; int n = board.length; int m = board[0].length; cost = new int[n][m]; for(int i = 0; i < n; i++) Arrays.fill(cost[i],INF); answer = dij(s[0],s[1],board,e[0],e[1]); if(answer == INF) return -1; else return answer; } public static int dij(int s,int e, int [][]board, int e1, int e2) { PriorityQueue<Node> q = new PriorityQueue<>(); q.offer(new Node(s,e,0)); cost[s][e] = board[s][e]; while(!q.isEmpty()) { Node tmp = q.poll(); int nowx = tmp.x; int nowy = tmp.y; int nowcnt = tmp.c; if(nowcnt>cost[nowx][nowy]) continue; for(int i=0; i<4; i++) { int nx = nowx; int ny = nowy; int len =nowcnt; while(nx>=0 && ny>=0 && nx<n && ny<m && board[nx][ny]==0) { nx+=dx[i]; ny+=dy[i]; len++; } nx-=dx[i]; ny-=dy[i]; len--; if(cost[nx][ny]>len) { cost[nx][ny] = len; q.offer(new Node(nx,ny,cost[nx][ny])); } } } return cost[e1][e2]; } public static void main(String[] args){ Main T = new Main(); System.out.println(T.solution(new int[][]{{0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0}, {1, 0, 1, 1, 1, 0}, {1, 0, 0, 0, 0, 0}}, new int[]{1, 0}, new int[]{4, 5})); System.out.println(T.solution(new int[][]{{0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0}, {1, 0, 1, 1, 1, 0}, {1, 0, 0, 0, 0, 0}}, new int[]{0, 0}, new int[]{4, 2})); System.out.println(T.solution(new int[][]{{1, 0, 1, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 1, 0}, {1, 1, 0, 1, 1}, {0, 0, 0, 0, 0}}, new int[]{0, 3}, new int[]{4, 2})); System.out.println(T.solution(new int[][]{{0, 1, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0}, {0, 1, 1, 0, 1, 1}, {0, 0, 0, 0, 0, 0}}, new int[]{0, 0}, new int[]{4, 5})); System.out.println(T.solution(new int[][]{{0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0}}, new int[]{0, 0}, new int[]{4, 3})); } }
-
미해결코딩테스트 실전 모의고사(with C++) : 대기업 대비
#include<bits/stdc++.h>
안녕하세요.제목과 같은#include<bits/stdc++.h>이 헤더를 썼을때, visual studio 나 DevC++ 에서 실행이 되지 않고 있는데요.해결 방법이 있나요?#include <iostream>을 사용해서 실행은 되고 있습니다.그리고, 실제 코딩테스트에서는 제목의 헤더나백터, 큐 같은 라이브러리 함수를 사용하지 못하도록 되어 있는데, 예를 들면#include <stdio.h> 또는#include <iostream> 이 두가지만 허용이 됩니다.벡터, 큐, max, min, abs 등과 같이 직접 만들어야 하는 함수에 대해서 부가 설명이 있으면 좋을 것 같습니다.그리고, ios ... 등등 이전 학습을 완료해야 알 수 있는 것들에 대해서도 물론 이 강의를 수강하는 정도의 레벨이라면 알고 있는 수강생들이 많겠지만, 짤막하게라도 설명이나 찾아볼 수 있는 곳이 있으면 좋겠습니다. (별도 네이버나 구글링을 통해서 찾아보려고 생각 중 입니다.) 저는 이전 강의를 미수강하고, 바로 이 과목을 선택 했거든요. 그리고, C언어에서는 안 돌아갔었던 것 같은데, 레인지 베이스드 포문도 C++에서만 되는 건지 궁금합니다. 감사합니다.
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
두수의 차 문제
저는 이문제는 이렇게 해봤는데영상에서는 포문이 두개 들어가더라구요이 방식도 맞는지 한번 봐주실수 있을까요?def solution(nums): sortArr = sorted(nums) minVal = 1000 result = [] for i in range(len(sortArr)-1): subVal = sortArr[i + 1] - sortArr[i] minVal = min(subVal, minVal) list = [sortArr[i], sortArr[i+1]] if minVal == subVal: result.append(list) return result
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
사탕종류 문제 이방법은 안되나요?
정렬에 사탕종류 문제에서정렬파트다보니 sort로 일부러 구현하신 것같긴한데저는 봤을때 set 밖에 생각이 안났어서요현재 주어진 케이스에는 정상적으로 나오는데 혹시 생각치 못한 케이스에 안될수도 있을까라는 생각에 올려봤습니다이것도 맞는 경우인건가요?def solution(nums): size = len(nums) / 2 dist = len(set(nums)) if size > dist: return int(dist) else : return int(size) print(solution(nums))
-
미해결코딩테스트 [ ALL IN ONE ]
남은 강의 언제 업데이트 될까요?
안녕하세요 강의 너무 잘 듣고 있습니다. 다른 글에 5월-6월 초라고 하셨는데 남은 강의 언제쯤 업데이트 될까요?
-
미해결[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법
kotlin enum class
5:29분에서,enum class Color(val rgb: Int){RED(0xFF0000),}이런식으로 되어있잖아요.그런데,when(color){Color.RED->{println(Color.RED.rgb)}이렇게 해서 색깔들의 rgb 값을 가져오잖아요,그런데 enum에서는 RED(0xFF0000) 이렇게 RED와 RGB 값이 같이 묶여서 있는데, 어떻게 Color.RED라고 인식하나요? 그리고 실제 콘솔 리턴값은 16711680이라고 나오나요??? 제가 자바는 오랫동안 써봤는데 사실 enum에서 rgb 값은 안 써봐서 모르겠습니다.알려주세요,감사합니다}
-
미해결[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법
fun query(request: String) ="결과 query $request"질문입니다.
같은 class에서 fun prepareRequest():String ="기본 요청 url $url"이렇게 리턴값의 타입을 String이라고 명시해주는 반면,fun query(request:String) ="결과 query $request" 이 함수는 왜 리턴값의 타입을 명시하지 않나요?