묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-A 질문있습니다!
4-A 를 저 혼자 풀어봤는데 정답 99% 에서 자꾸 오류가 납니다 ㅜㅜ...http://boj.kr/5d5b1d57540140d780129a99defd6bf8도와주세요..
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
그리디 파트
선생님 강의 잘 보면서 공부하고 있는데요혹시 그리디 파트가 어디예요?알려주시면 감사하겠습니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
dp를 이용한 계단 오르기
5번째 계단으로 오는 방법의 수가 8인 이유가 제가 이해한 게 맞는지 궁급합니다.i - 2번째 계단에서는 두 칸 점프 즉 +2가 붙는 경우를 고려한거고i - 1번째 계단에서는 한 칸 점프 즉 +1이 붙는 경우를 고려한건가요?5번째 계단을 구할 때 3번째 계단까지 오는 경우의 수는 3이고 이 3개의 경우에 전부 +2가 붙어서 5가 되고4번째 계단까지 오는 경우의 수는 5인데 이 5개의 경우 전부 +1씩해서 5가 되어서3 + 5 = 8이 되는 로직이 맞는지 질문드립니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
계단오르기
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { static int cnt = 0; public static void dfs(int sum, int n) { int[] arr = {1, 2}; for (int i = 0; i < arr.length; i++) { sum += arr[i]; if (sum == n) { cnt++; sum -= arr[i]; } else { if (sum < n) dfs(sum, n); sum -= arr[i]; } } } public static void main(String[] args) throws Exception { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(bufferedReader.readLine()); dfs(0, n); System.out.println(cnt); } }dp를 잘 몰라서 자력으로 dfs 방식으로 풀었는데 그닥 좋지 않은 접근일까요...?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
공부 방법 문의드립니다!
선생님, 안녕하세요.다름이 아니라 문제를 먼저 30분 정도 보아도 아예 감이 오지 않아서, 못 푼 채 강의 먼저 보게 되는데요.문제는, 강의를 보아도 다시 풀려고 하면 못 풉니다.강의를 보고 외워야 하는 걸까요?그런데 외운다고 하면, 이번 문제의 경우 풀이 방법이 여러가지인데 모두 외워야 하나요?그리고 너무 감이 안 와서 백준의 C++ 배우기 기초 문제를 하루 1문제씩 풀고 있는데 이 방법이 맞을까요?3개월 안에 코딩테스트 대비를 완수해서 상반기에 입사를 하려면하루 몇 문제씩 어떻게 공부해야할지 감이 안 잡혀 몇 주가 흐지부지 지나간 것 같습니다.조언해주시면 정말 감사드리겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
.
.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-h 코드 질문입니다.
안녕하세요!강의를 보고 혼자서 풀었는데 조금식 다르기는 하지만 전체적인 흐름은 큰돌님 코드와 똑같다고 생각합니다.하지만 왜인지 자꾸 틀렸다고 뜨네용..#include <bits/stdc++.h> using namespace std; int n, k; queue<int> q; int visited[200004]; int arr[200004]; int t; int ret; int main() { cin >> n >> k; if (n == k) { cout << 0 << "\n" << 1; return 0; } q.push(n); visited[n] = 1; arr[n] = -1; while (q.size()) { t = q.front(); q.pop(); if (t == k) { break; } for (int next : {t - 1, t + 1, t * 2}) { if (next < 0 || next > 100000) continue; if (visited[next]) continue; visited[next] = visited[t] + 1; arr[next] = t; q.push(next); } } int temp = k; vector<int> v; while (temp != -1) { v.push_back(temp); temp = arr[temp]; } reverse(v.begin(), v.end()); cout << visited[k] -1 << "\n"; for (int a : v) { cout << a << " "; } }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-I 질문드립니다.
https://www.acmicpc.net/source/965221752-I 2870 문제 해결이 되지않아 질문드립니다. 로직은 한 문자열을 받을때마다, 숫자가 시작되는 부분과 끝나는 부분을 파악하면 담고, 없는 부분은 담지 않습니다.다 담으면, 0으로 시작하는 부분에 대해 0을 제거하는 함수를 실행시켜 해당 원소를 앞의 0을 제거한 수로 바꿉니다.(0000은 0으로 처리가 잘 됩니다.)그리고 정렬에도 이상이 없어보입니다...! 예시문제는 다 통과되는데, 3%에서 계속 오답이 됩니다...!어디가 틀렸을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-P 질문 있습니다.
안녕하세요 항상 강의 잘 듣고 있습니다!해당 문제를 풀면서 작성한 코드는 아래와 같습니다. #include <bits/stdc++.h> using namespace std; int N; int arr[12][12]; int cost[12][12]; const int INF = 987654321; int ret=INF; void go(int cnt, int price, int start1, int start2){ if(cnt==3) ret = min(ret, price); if(price>ret) return; for(int i=start1;i<=N-2;i++){ for(int j= (i==start1? start2:1) ;j<=N-2;j++){ if(arr[i][j] || arr[i-1][j] || arr[i][j-1] || arr[i][j+1] || arr[i+1][j]) continue; //이미 있는 경우 arr[i][j]=1; arr[i-1][j] =1; arr[i][j-1] =1; arr[i+1][j] =1; arr[i][j+1] =1; int tmp_sum = cost[i][j]+cost[i-1][j]+cost[i][j-1]+cost[i+1][j]+cost[i][j+1]; go(cnt+1, price+tmp_sum, i, j); arr[i][j]=0; arr[i-1][j] =0; arr[i][j-1] =0; arr[i+1][j] =0; arr[i][j+1] =0; } } return; } int main(){ cin>>N; for(int i=0;i<N;i++){ for(int j=0;j<N;j++){ cin >> cost[i][j]; } } go(0,0,1,1); cout << ret <<'\n'; return 0; }처음에 작성한 코드는 go(0,0) 으로 x,y를 따로 파라미터로 넘겨주지 않았습니다. 하지만 이럴 경우 시간초과가 났습니다. 이로 인해 x, y 파라미터를 추가하였습니다.실제로 해설 코드를 봐도 해당 인자를 넘기지 않는 것으로 확인되는데 이유는 모르겠으나 소요시간에 차이가 상당히 차이가 나는데 어떤 이유인지 알 수 있을까요?
-
미해결코딩테스트 [ ALL IN ONE ]
노션 공유
58q6ysrtnj@privaterelay.appleid.com 멤버십을 요청하였는데 승인이 안 나는지 교재를 확인할 수 없습니다. ㅠㅠ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
중간에 끊어가기에 대해
안녕하세요 선생님! 저번주부터 선생님 강의를 수강하기 시작하여 현재 1.4(1.5 메모리와 포인터 전까지, 67p)까지 교안을 공부한 상태입니다. 지금까지 했던 것들을 익숙하게 하기 위함과 워낙 새로운 것들을 많이 받아들이다 보니 정리할 시간이 필요하여 문제를 많이 풀어보며 정리를 하고 배운것들까지의 내용에 대해 익숙해지고 싶은데 어떤 수준의 문제를 어디서 얼마나 풀어야 할지 잘 모르겠어서 질문드립니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2_C 질문있습니다!
안녕하십니까 강사님! 덕분에 강의 너무 잘 듣고 있습니다! 제가 정답은 맞았으나 강사님 코드랑 비교해보니 구현 방법이 조금 다른 거 같았습니다!강사님 코드는 최대 깊이까지 메모리 만들어 놓은 거 같고 저는 입력의 최대 값까지만 비교했습니다!제가 이 문제를 한번 더 풀때 어떤 방법으로 접근하는게 더 좋을지 고민이 됩니다.코딩테스트 공부 뿐만 아니라 효율적인 코드 작성에 대해서도 고민하고 싶어서 여유가 되신다면 제가 작성한 코드 피드백을 해주실 수 있으실지 해서 남깁니다! 감사합니다!http://boj.kr/c46e4ccf34ef4c4f9a68a8c31af8959d
-
미해결JavaScript 알고리즘 베스트 10
학습방법과 방향성을 잡아주시면 감사하겠습니다.
제가 문제를 풀때, 너무 하드코딩을 하는것 같이 느껴집니다.우선 문제를 먼저 풀어보고, 강의를 듣고 있는데, 선생님이 푼 방법으로 풀려고 노력하는게 좋을까요? 아니면, 선생님이 푼 방법으로 바꾸려고 노력하는게 좋을까요??제가 짠 코드는 이렇습니다.function solution(data){ let answer = []; let rotten_carret = 0; let rotten_carret_count = 0; //일단 for문으로, carret 밭 전체 탐색 for(let i = 0; i < data.length; i++) { for(let j = 0; j < data[i].length; j++) { //#일때 썩은당근 갯수 ++ if(data[i][j] === '#') { rotten_carret++; } //만약 0이라면 if(data[i][j] === 0) { //빈곳에서 주변 탐색을 통한 썩은 당근 갯수 구하기 for문 for(let k = (i-1); k <= (i+1) && k < data.length; k++) { for(let f = (j-1); f <= (j+1) && f < data[i].length; f++) { if( (k >= 0 && f >= 0) && (k!==i || f!==j)) { if(data[k][f] === '#') { //console.log${i},${j}일때 ${k},${f} 엔 ${rotten_carret_count}); rotten_carret_count++; } } } } } } } answer.push(rotten_carret); answer.push(rotten_carret_count); return answer;} 어떤 방식으로 학습하는 것이 더 효율적일지 의문이 들어 이렇게 문의 드립니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
문제 질문
교안에 없는 문제인데 따로 질문드려도 괜찮을까요 큰돌님..! AI나 구글링을 해봐도 답이 안나와서 질문드립니다 ㅠㅠ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
학습방법 문의. 간절해요 ㅠㅠ
안녕하세요 선생님. 전반적인 코딩 공부에 관한 질문을 드리려 이렇게 질문을 남기게 되었습니다. 현재 대학교 3학년이고 소프트웨어학부입니다. 1학년 때 c언어(혼공씨 교재)로 수업을 하였고 저는 이때 코딩을 완전히 등한시하며 3학년까지 교양이나 이산수학, 선형대수 과목 같은 과목들만 수강하며 학점을 채우며 다니다가 3학년 1학기 때 개인적인 사정으로 휴학을 하게 되었습니다. 아예 백지 상태였던 저는 제대로 공부하자는 마음이 생겨 혼공씨 책을 다시 구매하여 포인터 전까지 유튜브에 있는 강의를 들으며 기본적인 c문법을 익혔습니다. 그런데 아무래도 무료 강의이기도하고 따로 문제를 푸는 강의이기보다는 기본적인 문법을 알려주는 수준의 강의인지라 뭔가 한계를 느끼고 지인들의 추천을 받아 선생님의 강의를 구매하게 되었습니다. 현재 제 상태는 포인터 전까지의 기본적인 문법 정도만 알고 있고 따로 문제를 풀어본 경우는 거의 없다고 봐도 무방합니다. 복학을 한다면 객체지향프로그래밍 실습, 자료구조와 같은 c언어보다 더 심화 된 언어들로 수업을 하는 과목이 기다리고 있습니다. 따라서 저는 정말 아주 기본적인 c문법은 알고 있으니 선생님의 강의를 들으며 모르는 것들은 혼공씨나 구글에서 찾아보며 c++메인에 c는 c++을 들으며 자연스럽게 메꾸어가는 방식으로 학습을 할 예정인데 이게 맞는 방법인지도 모르겠고 시간이 얼마 없어 너무 막막한 마음만 듭니다. 만약 시간이 되신다면 이런 제 상황에 맞는 학습법을 추천해주시기를 간곡히 부탁드립니다. 긴 글 읽어주셔서 감사합니다
-
미해결해외 빅테크 코딩 인터뷰: LeetCode 포기자의 합격 공부법
유료 모의 면접 활용 시점
안녕하세요 강의자님! 좋은 강의 만들어 주셔서 감사합니다. 빅테크 준비 할 때 좋은 가이드가 된 것 같습니다. 두 가지 질문이 있습니다. 1. 인터뷰 준비 보너스 팁 부분에서 유료 모의 면접 활용의 시점은 인터뷰 제의가 온 후 인지 아니면 제의가 오기 전에 준비를 위해 하셨는지 궁금합니다. 2. 유료 모의 면접가 실제로 도움이 많이 됐는지도 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-P 질문 있습니다
http://boj.kr/54aae36378b4419ab85120b44a24658a95퍼센트에서 계속 틀렸다고 나오네요.. 뭐가 문제인지 잘 모르겠습니다 도와주세요 ㅠ can_plant 는 y,x에 대해서 그 좌표가 꽃술이라면 꽃을 심을 수 있는 좌표인지 확인하는 함수이고go 함수는 원복하면서 모든 경우의 수 체크하는 재귀함수입니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 1940질문있습니다
http://boj.kr/f4e4599b7f5b4a6693f4eac7063b4972저는 입력 받을 수 있는 갯수가 크다고 생각하여 전체를 탐색하게 되면 시간이 오래 걸릴 수 있다고 생각해서 정렬 후 비교값보다 커지면 탐색을 종료하게 끔 설계를 했습니다.허나 궁금해지는 것이 정렬을 하고 반복문 시간을 줄이는 것이 더 효율적인 코드인지 아니면 선생님처럼 정렬을 하지 않고 정렬하는데 시간소모를 없애고 전체 탐색을 하는게 더 효율적인지 궁금해서 질문드립니다!코드 작성 시간측에서는 선생님의 코드가 훨씬 효율적이지만 시간복잡도 측면에서 궁금합니다!!추가로 강의 내용중에 예외처리에 대해서도 생각하게되었습니다!오늘도 좋은 강의 감사드립니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-O 사다리조작문제 질문합니다.
http://boj.kr/32b3838d8d234c319135354effb7f937안녕하세요. 사다리 조작 문제를 푸는데 거의 다 푼거 같은데 계속 틀려서 .. 도와주세요...
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문드립니다!
이전에 풀었던 코드를 여러 번 수정하며 첨부한 링크와 같이 코드를 수정했습니다. 큰돌님 코드의 흐름과 동일하게 보이는데, 계속 틀렸다 나와서 질문드립니다.. 어떤 부분에서 제 코드가 오류를 내는 것인지 모르겠습니다 ㅜhttp://boj.kr/57ecaad1d70a4f9c8f3b0ae316d5fb7d