묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-E 뮤탈리스크문제 질문있습니다
http://boj.kr/76d330363fe14462b380a7036a3434f7문제가 이해가 잘 가지않아 선생님의 코드를 보고 작성하였습니다여기서 궁금한부분이 bfs일경우일때 visited[][][]3차원 배열에 이미 들어가있는 값이 있으면 continue하는 조건인데 q에들어가는 원소가 추후에 들어오는 visited일 경우 같은 원소의 idx라고 하여도 dfs가 아닌 bfs인 이상 무조건 count되는 레벨의 갯수가 트리나 그래프로 따졌을때 depth 가 깊은 탐색순서가 되기때문에 visited가 원소가 있을때 이후에 들어오는 count는 무조건 기존에들어가있는 vistied의 원소보다 클 것이므로 해당조건만으로 문제를 풀수있는것인가요?
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
이상한게 햇갈리는데요.....
저번 수업도 그렇고...반복문 작성할 때 아 이거는 i<N인가? M인가? 이게 햇갈리는데, 뭐 좋은 방법 없을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-c fill 함
fill(&visited[0][0], &visited[0][0] + 101*101, 0);이 부분에서 저는n*n까지만 필요하다고 판단해서 fill(&visited[0][0], &visited[0][0] + n*n, 0);이렇게 했더니 아예 다른 값이 나오다ㅓ라구요..저는 visited[][] 를 n8n만큼만 사용한 것인데 왜 값이 다른지 궁금합니다... 좋은 강의 감사드립니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-Q 치즈 질문입니다.
안녕하세요. 여러 테스트 케이스 가지고 해봤는데 반례를 찾지 못해서 질문 드립니다. 단순 반복 DFS로 구현을 해봤는데요.치즈 조각이 남아 있을 때 까지 반복공기 부분 찾기 ( 치즈 속 구멍은 x)공기와 맞닿은 치즈 부분 찾기공기와 맞닿은 부분 녹이기12%에서 틀리는데 어떤 부분을 놓친걸까요?? http://boj.kr/0eaf787d61fa40b093d24ee028da3376
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
모범 답안 코드 로직에 대한 질문입니다.
코드를 아직 이해하지 못했습니다. go 함수에서 a[y][x]가 1이기만 하면 무조건 벡터에 좌표를 넣고 return 하는 것 같은데, 이렇게 하면 가장 바깥에 있는 치즈의 면적 외에도 내부에 있는 치즈 (1)까지 전부 포함되어 벡터에 넣고 메인 함수에서 0으로 만드는 것 아닌가요? 가장 바깥쪽을 인식한다.가장 바깥쪽을 제거한다.면적을 카운트 한다.완전히 없어질 때까지 반복 이게 정답 로직인 것 같은데, 코드에서는 a[y][x]가 1이기만 하면 무조건 제거하는 것으로 해석되어 헷갈려서 질문드립니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
섹션 4-1 getOrDefault 메서드가 undefined에러가 떠요
구글링해보니 자바8이상이면 메서드 쓸 수 있다는데 저는 자바 11버전이거든요 왜 이럴까요ㅠㅠ
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
그리디-씨름선수 질문
안녕하세요 강사님!수업 도움이 정말 많이 되고있습니다, 감사합니다.다름이 아니라 그리디- 씨름선수 문제에서 질문이 있는데요!(181,60), (180,70), (170,72) 이렇게 꼭 키가 가장 큰 사람을 반드시 포함시키지 않아도세 명을 선발할 수 있다고 생각했는데 키가 가장 큰 사람을 반드시 포함시키고 세는 경우만 답이 되나요??그래서 아래와 같이 코드를 써봤는데 이렇게 하면 답이 틀릴까요?n=int(input()) data=[] for i in range(n): height,weight = map(int, input().split()) data.append((height, weight)) data.sort(key = lambda x : (x[0], x[1]), reverse=True) tmp_lst = [] for i in range(n): tmp=1 max = data[i][1] for j in range(i, n): if max<data[j][1]: max = data[j][1] tmp+=1 tmp_lst.append(tmp) max_cnt=tmp_lst[0] for i in range(n): if tmp_lst[i]>max_cnt: max_cnt=tmp_lst[i] print(max_cnt)
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
혹시 구현문제의 대한 강의는 올라오지 않을까요?
혹시 구현문제의 대한 강의는 올라오지 않을까요?다음 예정된 강의는 어떤 종류의 알고리즘인지 궁금합니다.
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
강의 자료 관련 문의
안녕하세요 수업 잘 듣고 있습니다! 강의 자료 중에 어떤 것에는 코드가 첨부되어 있고 어떤 것에는 코드가 첨부되어 있지 않은데, 혹시 첨부되어 있지 않은 것은 추후에 업로드가 되는 것인지 따로 코드가 제공되지 않는 것인지 궁금하여 질문 남기게 되었습니다! 감사합니다
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
왜 텍스트가 안불러와질까요? ㅜㅜ
AttributeError: 'tuple' object has no attribute 'readline'라고 뜨면서 input값들이 안불러와집니다..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
종화 문제 답안 코드 질문
void dfs(int x, int y) { if (board[x][y]==2||board[x][y]==0) return; if (x < 0 || y < 0 || x >= n || y >= m) return; board[x][y] = 2; dfs(x + 1, y); dfs(x, y + 1); dfs(x - 1, y); dfs(x, y - 1); return; }안녕하세요 선생님 혹시 강의 내용에 종화 문제에서 이렇게 구현하는 것 또한 dfs라고 할 수 있는걸까요??제 코드가 앞으로 문제 풀기에 있어서 더 복잡해 보이는건지 감이 잡히지 않아서 질문드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-C 복습 !
안녕하십니까 큰돌님복습하다가 궁금한게 생겼습니다안전영역 최대값을 구하기 위해 ret 을 1로 초기화하는데3중 반복문의 첫 번째 for문이 무조건 1부터 100까지 돌면서 잠기지 않는 지역이 있을 수 있어도(이때, 최소값은 1)영역 높이가 최대 100이고 반복문 d값이 100까지 가면 결국 마지막에 100 이하의 높이인 영역은 잠기므로 무조건 최소값은 0으로 되는 거 아닌가요 ?? 그래서 ret 을 0으로 초기화 해야 된다고 생각하는데 뭔가 어렵네요ㅜ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
쿼드트리 메모리 초과 질문
안녕하세요 강사님 ㅎㅎ맞은 코드 : http://boj.kr/1b7e6a102d7a4a3893e9e95d35517735틀린 코드 (메모리 초과) : http://boj.kr/8e21367e52314b8585922b74a0fabad8둘의 차이는 재귀함수의 기저사례만 다릅니다. 하지만 둘의 차이가 왜 메모리 초과를 발생시키는지는 잘 이해가 가지 않아서 질문드립니다 !
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 주몽 질문입니다.
안녕하세요변수 선언하는데 있어서 main위에 선언하는 것과 main안에서 선언하는게 무슨 차이가 있나요??int n, m, num[15001], cnt;해당 부분을 main 안에서 선언한 경우 틀렸다고 나오고, main위에다가 선언해야 맞았다고 나오는데, 그 차이를 이해하기 어려워서요!확인부탁드립니다.http://boj.kr/0068cf0a6ca54091a5b44ac723c2ff4d
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
1-10 가장 짧은 문자거리 문제에서 어디가 틀린걸까요?
강사님이 설명해주신 방법이랑 조금 다르게 풀었는데, 계속 오답이 나와서 문의드립니다.어느 부분이 틀린 건지 못찾겠습니다도와주세요..import java.util.Scanner; public class Main { public int[] solution(String str, char c){ int tmp=0; int[] answer = new int[str.length()]; for(int i=0; i<str.length(); i++) { if(str.charAt(i)!=c) { tmp++; } else { tmp=0; } answer[i] = tmp; } for(int i=0; i<answer.length-1; i++) { if(answer[i]!=0 && answer[i+1]==0) { int arrayTmp = answer[i]; for(int j=0 ; j<arrayTmp/2 ; j++) { answer[i-j] = 1 + j; } } } return answer; } public static void main(String[] args) { Main T = new Main(); Scanner scanner = new Scanner(System.in); String str = scanner.next(); char c =scanner.next().charAt(0); for(int a : T.solution(str, c)) { System.out.print(a+ " "); } } }
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
44번 질문 있습니다
43번 문제는 이제 풀 수 있어서 44번 문제도 43번 처럼 진행했습니다. 그런데 3이 안나오고 다른 답만 나와서요 어디가 잘 못됐는지 알려주실수 있으실까요?#include<iostream> #include<vector> #include<algorithm> using namespace std; int n,m, a[1001]; int dis(int x) { int i,sum=0,cnt=1; for(i=1;i<=n;i++) { if(sum +a[i]>x) { sum = a[i]; cnt++; } else sum=sum+a[i]; } return cnt; } int main() { int i,lt,rt=0,max=-2147000000,mid,res=0; cin >> n >>m; for(i=1;i<=n;i++) { cin >> a[i]; rt +=a[i]; if(max<a[i]) max=a[i]; } lt = a[1]; while(lt<=rt) { mid = (lt+rt)/2; if(mid>max && dis(mid)<=m) { res = mid; lt = mid+1; } else rt=mid-1; } cout << res; return 0; }
-
해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
격자판 최대합 테스트 케이스 5번 통과가 안되요
import java.util.Scanner; public class GetMaxSumOfGridPlate { public static void main(String[] args) { Scanner in = new Scanner(System.in); int arrLen = in.nextInt(); int[][] arr = new int[arrLen][arrLen]; for(int i = 0; i < arrLen; i++) { for(int j = 0; j < arrLen; j++) { arr[i][j] = in.nextInt(); } } System.out.println(getMaxSumOfGridPlate(arr)); } static int getMaxSumOfGridPlate(int[][] grid) { int max = 0; int diagonal1 = 0; int diagonal2 = 0; for(int i = 0; i < grid.length; i++) { int sum1 = 0; int sum2 = 0; for(int j = 0; j < grid.length; j++) { sum1 += grid[i][j]; sum2 = grid[j][i]; if(i == j) { diagonal1 += grid[i][j]; } } diagonal2 += grid[i][grid.length - i -1]; int sum = Math.max(sum1, sum2); max = max < sum ? sum : max; } int diagonal = Math.max(diagonal1, diagonal2); return max > diagonal ? max : diagonal; } } 제가 풀었는데 선생님께서 풀어주신 내용과 아이디어는 비슷하다고 생각했습니다다만 5번 테스트케이스에서 통과가 안되어서 코드에 오류가 있는거 같은데문제를 찾기가 너무 어렵습니다.어느 부분이 틀렸을까요? ㅠㅠ
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
if문 내용 중에서 nx조건식에 대한 질문입니다..
nx>=0 은 이해됩니다.조건식을 음수로 좌표를 찍었을때 예외처리가 생기니까 조건을 준건 이해가되는데nx < n가 이해가 잘 안됩니다..nx가 무조건 0이상의 정수일때 nx가 n보다 크거나 같아질 수가 있는건가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-I 질문 입니다.
http://boj.kr/bcc06cf6a93641da9808a0950454e679 문자 탐색 및 종류 저장은 비슷하게 진행했고, atoi를 사용해서 앞의 0 제거 및 정수화를 진행해서 map에 저장했습니다. 이후 벡터에 넣을 때, second값만큼 first를 pish_back 후 less<int>() functor로 정렬을 했습니다. public TC에서는 문제없이 작동하지만 private TC에서 걸립니다.어디서 문제가 발생하는지 모르겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G 질문있습니다
http://boj.kr/35acb377ed8a48a7b4af2104230d9320런타임애러가 발생한다고 뜨는데 도대체 어디서 잘못된건지 모르겠어서 질문 드립니다.좋은 퀄리티의 강의 너무 잘 보고있습니다.감사합니다