월 33,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-B 보물섬 코드 질문입니다.
안녕하세요 큰돌님! 강의 잘보고 있습니다!보물섬 문제를 푸는데 궁금한 점이 있어서 질문드립니다.로직은 거의 동일하게 풀었습니다만, 문자가 다닥다닥붙어서 입력되는걸보고 scanf와 printf를 사용해보았는데 틀렸다고 나와서요.큰돌님이하신 방법대로 cin과 cout으로 교체해주었더니, 맞았다고 나왔지만 어느 부분이 다른 건지(혹은 틀린건지) 잘 모르겠습니다. ㅠㅠ아래 코드에서 주석 처리한 부분이 제가 처음에 작성했던 코드입니다.http://boj.kr/f3f04689b13c429d830e4dda8b3d9505답변 기다리겠습니다!
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-I 1620 맞왜틀입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.선생님 안녕하시렵니까!프론트라 js로 코드를 짜고 있는데 맞왜틀에서 못 벗어 나고 있어유 ㅠ 도와주세용http://boj.kr/41950771eb5a4d74a0c20ff66a460e46
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
While 문 질문입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.ㅇ 안녕하세요. 강의 잘 듣고있습니다.while((pos = input.find(delimiter)) != string::npos)코드가 잘 이해가 안됩니다. input에서 delimiter를 찾는 부분이 input.find(delimiter)인데!= string::pos 부분이 이해가 안됩니다. npos는 무엇을 의미하는 건지 궁금합니다. 감사합니다!
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-B. 유기농 배추 질문있습니다.
안녕하세요 선생님. 해당 질문에 대해서 저는 for 반복문을 이용해서 풀었습니다.선생님께서는 while문을 이용해서 푸셨는데, 이러한 상황에서 시간복잡도 , 코드 효율성 등이 for문을 사용하는게 좋은지 while문이 좋은지 궁금합니다.또한, while문의 시간 복잡도를 구하는게 조금 헷갈리는데 간단하게라고 설명 해주시면 감사하겠습니다.#include <bits/stdc++.h> using namespace std; const int MAX_K = 2500; const int MAX_M = 50; const int MAX_N = 50; const int dy[4] = {-1, 0, 1, 0}; const int dx[4] = {0, 1, 0, -1}; int T, N, M, K; bool IsMovable(int dirY, int dirX, int visited[MAX_N][MAX_M], int Map[MAX_N][MAX_M]) { if (dirY >= N || dirX >= M || dirY < 0 || dirX < 0) return false; if (visited[dirY][dirX] != 0) // 방문한 적 있으면 return false; if (Map[dirY][dirX] != 1) // 갈 수 없는 곳이면 return false; return true; } void Go(int cy, int cx, int visited[MAX_N][MAX_M], int Map[MAX_N][MAX_M]) { visited[cy][cx] = 1; for (int i = 0; i < 4; i++) { int ny = cy + dy[i]; int nx = cx + dx[i]; if (IsMovable(ny, nx, visited, Map)) Go(ny, nx, visited, Map); } } int main() { cin >> T; for (int i = 0; i < T; i++) { int Map[MAX_N][MAX_M]{}; int visited[MAX_N][MAX_M]{}; int zoneCnt = 0; cin >> M >> N >> K; for (int j = 0; j < K; j++) { int diry = 0; int dirx = 0; cin >> diry >> dirx; Map[diry][dirx] = 1; } for (int currY = 0; currY < N; currY++) { for (int currX = 0; currX < M; currX++) { if (IsMovable(currY, currX, visited, Map)) { zoneCnt++; Go(currY, currX, visited, Map); } } } cout << zoneCnt<< endl; } }
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L combi 방식으로 했을때 시간초과
http://boj.kr/71e5ee8f28ea4c35a38d8732c08dbca3안녕하세요.주몽 문제를 combi 방식으로 했을때 시간초과가 나는 이유는 무엇일까요?
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-H 질문
http://boj.kr/f20dcd82536849b794b2b9f0551683f9 안녕하세요 큰돌님이해가 안가는 부분이 있어서요1 2 3 1 2이렇게 있으면,마지막 부분 3 1 2은 등차수열의 합을 이용한(3) (1) (2) (3, 1) (1, 2) (3, 1, 2)이렇게 경우의 수를 모두 세는데,왜 1 2 3 같은 경우(1) (1, 2) (1, 2, 3) 이런 경우만 고려하는 걸까요?왜 (1) (2) (3) (1, 2) (2, 3) (1, 2, 3) 이렇게 세지 않는걸까요...
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 선생님 reverse 함수 사용하지 않고 문제풀이 해봤는데...
안녕하세요 선생님. reverse 함수 사용하지 않고 문제 풀이 해봤는데 dev c++에서는 예제 잘 돌아갔는데백준에서는 틀렸다고 나와서 질문 드립니다!왜 오류가 나오는지 , reverse 사용하지 않고 괜찮게 작성한 코드인지 궁금합니다! http://boj.kr/5ee18678eb5c4dd98d782a257769f061
- 해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-O 질문 있습니다
큰돌 선생님이 제 멘토라고 생각하고 열심히 배우는 중입니다 ㅎㅎ다음은 제 코드입니다.http://boj.kr/9f42d776453a4633b13e660610a7eb74cnt가 찾은 ret 이상이면 (제 코드에서는 mn) return하는 코를 안 적으면 왜 시간초과가 나는지 잘 모르겠습니다.문제를 풀 때 최악의 상황을 생각해서 그 최악의 상황을 돌렸을 때 제한 시간안에 돌아가야 한다고 생각합니다.만약 정답이 가로선 3개를 추가하는 것인 최악의 상황에서 이 코드가 유의미한 시간복잡도 차이를 만들어내지 못하는게 아닌가 하고 생각합니다. 이 문제 같은 경우 테스트케이스가 그러한 방식으로 짜여져있어서 통과와 시간초과라는 차이를 만드는 것인지 궁금합니다.전에 선생님께서 가르쳐주신 조합 코드를 생각해보면 한번 확인한 위치는 다시는 확인을 안 하도록 start+1을 해서 코드를 작성했던 기억이 납니다. 하지만 이 코드는 확인했던 행 - 1까지는 확인을 안하도록 here을 사용하지만 열, 즉 j는 1부터 확인함으로써 중복으로 검사하고 있습니다. 왜 무한루프가 안 생기는지 이해가 잘 되지 않습니다.
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
알고리즘 교안 62 페이지 관련 질문드립니다!
알고리즘 교안 에서 질문드립니다!혹시 62 페이지 타입변환시 주의할점에서 p가 어떤건지 궁금합니다!
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-O 질문있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 큰돌님. 제 코드가 "틀렸습니다"로 뜨는 이유를 모르겠습니다..... http://boj.kr/d1dcc4d3cd2645619e493eab43591718 감사합니다:)
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-E 기저조건 질문있습니다
안녕하세요 선생님 🙂함수에 있는 기저조건과 4가지 숫자가 같을 경우에 리턴 값으로 string(1, a[y][x])를 주셨는데요, 1 또는 0이라고 말씀해주셨지만 이해가 가지 않습니다. string 키워드로 교안과 구글을 찾아봤고, xstring으로 타고 들어가 분석해보려고도 했지만 마땅한 답을 찾지 못하였습니다.string함수 관한 설명이나 참고할 수 있는 교안의 목차를 알려주신다면 정말 감사하겠습니다 🙂 추가로, 함수 안에 있는 string ret = "";를 전역으로 빼면 값이 이상해지더라구요. 이유를 잘 모르겠어서 질문드립니다.
- 해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-P 연구소 solve()>fill() 함수에서 전역변수 vector<> v가 초기화 될 수 있나요?
제가 코드안되는 부분 찾다가 solve()>fill(visited) 함수에서 전역변수 vector<> v의 크기가 0으로 초기화 되는 문제를 겪었습니다https://www.acmicpc.net/source/78783272상세한 문제는 위 코드링크에 주석 달아놓았습니다무언가 잘못한 거같은데 모르겠네요// 개요 vector<pair<int, int>> v; int solve(){ // 여기서 visited 아니라 v가 초기화됨 fill(&visited,,) } int main(){ max(ret,solve()); }
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5 - B 질문입니다!
#include <bits/stdc++.h> using namespace std; string str, fire_str; string ret=""; int main() { cin >> str >> fire_str; for (char i:str){ ret+=i; if (i==fire_str[fire_str.size()-1]){ if (ret.size()-fire_str.size()<0) continue; else if (ret.substr(ret.size()-fire_str.size(),fire_str.size())==fire_str){ ret.erase(ret.size()-fire_str.size(),fire_str.size()); } } } if (ret=="") cout << "FRULA"; else cout << ret; }out of range 제출하게 되면 out of range 에러가 뜨는데 이유를 모르겠습니다. 어디서 나는 건가요??
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-J 주난의 난 이 코드는 어떤가요??
안녕하세요 ㅎㅎ 처음으로 3주차 문제를 혼자 힘으로 풀 수 있어서 너무 기뻤는데, 선생님과 다르게 풀어서 혹시 비효율적인 코드는 아닐까하고 여쭤보러 왔습니다! 얼마 전까지 실버도 못 풀던 제가 골드를 혼자 힘으로 맞출 수 있게 해주셔서 너무 감사합니다 ㅠㅠㅠ http://boj.kr/106cce4c523c4f4c8e18e73d413433e4
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
플로이드 워셜 관련 질문
플로이드 문제에서 가령 입력값이 아래와 같다고 할 때, 541 3 103 2 11 5 15 3 1 d[1][2] 의 값은 K = 3 일 때 d[1][2] = d[1][3] + d[3][2] = 11 그런데 d[1][3]은 이후에 K가 5일 때 연산을 통해d[1][3] = d[1][5] + d[5][3] = 2 근데 작아진 d[1][3]의 값이 반영되려면 K가 5일 때, d[1][5] + d[5][3] 연산을 한 '이후에' K가 3일 때d[1][2] =d[1][3] + d[3][2] 연산을 통해 d[1][2] 의 값이 바뀌어야 한다고 생각이 드는데 점점 증가해야 하는 K값이 값자기 작아질수는 없으니 그건 불가능합니다. d[1][2]의 값이 3이 되는데 필요한 어떤 연산을 제가 놓친건지 모르겠습니다...
- 해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
dp를 이차원 배열로 만들어서 풀어봤는데, 틀립니다.
http://boj.kr/7c9fc1fdb4894c518c897537de03f02b선생님, 안녕하세요~dp를 이차원 배열로 만들어서 n번째 인덱스까지 돈m을 썼을때의 최대 칼로리 양을 저장하게 했습니다. int dp[5004][10004]; // n번째 인덱스까지 돈m을 썼을때 최대 칼로리양그 후 나머지 부분은, 동전문제에서 했던 것과 비슷하게, 단지 이차원 배열이니깐 dp[i][j]를 비교할 때, 가격이 이전 인덱스가 더 큰지, 아니면 이번 인덱스에서 가격만큼을 빼고 칼로리만큼을 더한게 더 큰지 비교해주도록 했는데요.for (int i = 1; i <= n; i++) { for (int j = 1 * 100; j <= m * 100; j++) { if (price[i] > j) { dp[i][j] = dp[i - 1][j]; } else { dp[i][j] = max(dp[i - 1][j], dp[i][j - price[i]] + cal[i]); } mx = max(mx, dp[i][j]); } }지금 제가 생각하기에, 코드를 이렇게 짰을때, 일차원배열과 이차원배열이 큰 차이가 있나 싶기도하고, 다른 냅색문제에서 이렇게해서 통과하는 경우가 있었기에, 어떤 차이가 있을까, 반례가 뭐가있을까 질문드리고 싶습니다.
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-J ret-1 관련 질문 드립니다.
큰돌님 안녕하세요? http://boj.kr/bf56f9dfa3334722b3c4d22ac01f67da저는6-J 해당 문제에서ret=60000000004로 설정하고이분탐색에서ret = min(ret, mid);으로 최적의 ret을 찾는 방법을 사용하고 싶은데요,강의의 ret-1이 저는 아직 이해가 안가서 질문 드립니다. Q1. 해설에서는 ret=0;으로 설정하고 이분탐색에서ret=mid;로 min()함수 없이 사용하셨는데 상관 없는건가요? Q2.강의 8:16초 28명과 35명 중에서 35명를 찾는 과정을 먼저 한다고 하셨는데최적의 ret(mid)인 35 찾는건 이해했는데ret-1코드로 인해 (해설 코드 26 line, 또는 강의 7분 54초 부분)28부터 시작하는게 아니라 34(35-1은 34이므로)부터 하는것 아닌가요?이부분 궁금해서 질문 드립니다. 답변 미리 감사합니다.수강자 올림.
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-Y 원판 돌리기
http://boj.kr/f8db50bd4ee848db99f4e157879c03d1테스트 케이스는 맞고 출력해봤을 때 해당 예제처럼 인접 값 삭제되는게 확인되는데 왜 틀렸는지 모르겠습니다.. 저는 vector<int> vec[54]로 1번부터 n까지 값을 저장한 후, 벡터를 rotate했습니다..
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
(공부 방법 관련) 모르겠으면 답을 보고 풀어도 되는걸까요ㅠㅠ
안녕하세요! 선생님 강의 잘 듣고있습니다 ㅎㅎ다름이 아니라,, 공부 방법에 대해 궁금한 점이 있어서요. 2주차까지는 제시해주신 문제 문제 대부분이 실버라서 답을 안 보고 풀고, 선생님 강의 보면서 더 나은 답을 배워가는 식으로 공부해왔는데,, 3주차 브루트포스부터는 골드가 대부분이라 자꾸 답에 도달하지 못하고 결국 강의 코드를 참고하게 됩니다ㅠㅠ (제가 아직 골드를 안 보고 풀 수 있는 실력이 아닌 것 같아요..)당연히 몇 시간 동안 저 스스로 풀려고 노력하는데, 늘 테케는 맞추더라도 히든테케를 틀리고ㅠㅠ 테케가 맞았으니까 어느정도 답에 근접하긴 했다고 생각했는데 막상 큰돌쌤 답을 보면 저랑 다르게 짧고 깔끔하게 구조화하셨더라구요. ㅠㅠ 예를 들면, 인구이동(boj 16234) 문제에서 인접 컴포넌트니까 dfs써야지! 하고 와다다닥 dfs를 써서 코드를 짜긴 짜는데 주어진 조건이 많아지니까 혼란스러워하면서 배열도 많이 만들고 flag도 많이 만들어서 덕지덕지 코드를 짜다가 포기하고 답을 보는.. 이런식이 반복됩니다.. 다음날 다시 풀어봐도 전날 푼걸 외워서 푸는 것 같고 제가 다른 문제가 나왔을 때 풀 수 있을거라는 자신이 안 들어요 이렇게 스스로 풀지 못 하는 문제가 거의 대부분이라도 이런식으로 계속 답을 보면서 공부하는게 맞는걸까요? 쌤 답을 보면서 공부를 해도 제 스스로 문제푸는 힘이 길러질까요?ㅠ.ㅠ 한탄 읽어주셔서 감사합니다..
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
배열을 이용한 구현 풀이 질문드립니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 큰돌님! 항상 좋은 강의 감사합니다! 다름이 아니라 제가 이 문제를 풀 당시, 입력의 범위도 작고 풀이가 딱히 생각이 나지 않아 배열을 이용해 쌩구현을 했습니다. 하지만 N과 J의 범위가 커지면 제가 풀이한 방법으로는 시간복잡도가 커져서 틀리게 되겠죠?만약, M이 1이고, N, J가 1000만일 때 최악의 경우 사과가 양 끝 인덱스(1번과 1000만번)에만 떨어진다면 시간복잡도는 1000만 * 1000만이 될까요? 코드: http://boj.kr/047fdd5efd2c4f37968a1764f52f9a40