묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 학습 방법
교안 학습은 그냥 독학하면 되는건가요?아래 3개 교안이 제공되는 거 같은데, 어떻게 활용하는 건가요? 교안을 다 보고 강의를 들어야 하나요? 강의는 문제 위주로 되어 있는거 같은데, 강의를 어떻게 활용하라는 설명이 없어서 질문 드립니다. 강의는 문제풀이 위주인거 같은데, 교안을 직접적으로 설명하는 부분은 없다면 아래 3개의 교안을 어떤 식으로 활용해야 하는지 궁금합니다!! C++ 알고리즘 교안10주 완성 문제해설 교안알고리즘 개념교안
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
학습질문
안녕하세요 큰돌님이번에 새롭게 수강을 하게 된 수강생입니다. 다름이 아니라,해당 기업에서 필요로 하는 개념만 배우려고 계획하고 있는데, 챕터 순서 없이 필요한 부분만 수강하고 개발을 해도 되는 구조일까요? 아니면 1~10주까지 순서대로 끝까지 수강하고 진행하는 것이 필수일까요? 저는 아래와 같이 계획하고 수업을 진행하려 했습니다. 아래의 것만 공부하면 될 것 같아서요.섹션 2: 구현, 시간복잡도, 시뮬레이션섹션 3: DFS/BFS (그래프 탐색)섹션 4: 완전탐색과 백트래킹섹션 8: DP (Dynamic Programming)
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
당근마켓 문제 질문있습니다.
안녕하세요 큰돌님:) 항상 질문에 대한 답변 감사드립니다. 당근마켓 배열의 크기가 [5][5]로 좌표는 (0,0) ~ (4,4) 까지 있습니다. 큰돌님의 코드는 (0,0)부터 당근을 소모해서 가중치가 +1이 되어 있습니다. 문제는 "한칸" 움직일 때 "당근한개"가 소모된다는 것으로 설명하고 있습니다. 승원이는 (0,0)에서 출발을 시작하고 (1,0)으로 가야 당근 한개가 소모되는 것이니 (4,4)에 도착했을 때 당근의 소모개수에서 -1을 해줘야 하는거 아닌가요?(0,0)좌표에서 당근의 소모개수가 +1이 된다면 승원이는 (0,0)좌표에서 출발해서 (1,1) 좌표로 온것이고 배열은 (1,1)~(5,5)로 봐야 하는거 아닌가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-F 코드 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.http://boj.kr/599ae84bf8024ff7a8d2ae8a8cdd3a2e선생님, 안녕하세요! 선생님의 답안코드와 제 코드의 차이점은 단지 s냐, str이냐 이 문제 인 것 같은데어디 부분이 문제인지 잘 모르겠습니다.감사합니다. 오류 내용입니다.Main.cc: In function ‘int main()’: Main.cc:8:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 8 | for (int i = 0; i < str.size(); i++) { |
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-O 맞왜틀팁 질문
안녕하세요, 4-O 15926번 문제 질문드립니다.저는 다른 아이디어 없이, 스택으로 경우의 수를 처리하려고 했습니다만 어떤 테스트케이스에서 틀렸다고 나오는지 모르겠어서 질문드립니다!http://boj.kr/85e34b6b58404d3fa9c80c8c7b62a176 위의 코드의 경우 다음의 아이디어를 핵심으로 구현되어있습니다.짝이 맞는 경우 "()" 에는 len에 2를 더한다. 동시에, pop해서 없앤다.짝이 맞지 않는 경우에는 maxLen을 현재까지 쌓인 len으로 갱신을 시도하고, len을 초기화한다. (스택을 비워두지 않기 위해 이때는 ')' 라도 스택에 push 한다.만약 stack이 비게되면, 이땐 acc에 그 길이를 누적해둔다. (전부 이어져있으므로) 전부 다 살펴본 뒤에, acc와 len중 최대값으로 한번더 maxLen을 갱신하며 마무리한다.위의 아이디어는 도중에 올바른 괄호문자열이 아닌 경우도 전부 계산할 수 있고, 차마 계산하지 못하고 마무리되는 경우도 4번에 의해 계산되니 문제 없다고 판단했습니다. 위의 로직에는 어떤 문제가 존재하는걸까요?어떤 테스트케이스에서 걸리는걸까요? 감사합니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
수업 질문있습니다.
안녕하세요 큰돌님:) Q. 종화는 방구쟁이야! 문제에서 아래와 같이 코드를 작성했습니다.아래와 같이 작성한 이유는 컴포넌트들을 번호를 붙여가며 색칠하는 알고리즘이 풀르드필이라고 해서 다음과 같이 cnt를 방문할 수 있는 지역이면 +1 을 입력해 들어가게 했습니다. 들어가는 지역마다 다른 번호가 vis에 들어가도록 하기 위해서요! 아래와 같이 작성해도 괜찮은 방법인가요? http://boj.kr/d2d3da500927468b842dd03608929196#include <bits/stdc++.h> using namespace std; int N, M, cnt; int adj[103][103]; int vis[103][103]; int dy[] = {-1, 0 , 1, 0}; int dx[] = {0, 1, 0, -1}; void DFS(int y, int x, int cnt){ vis[y][x] = cnt; for(int i=0; i<4; i++){ int ny = y + dy[i]; int nx = x + dx[i]; if(ny<0 || ny>=N || nx<0 || nx>=M) continue; if(adj[ny][nx] == 0) continue; if(vis[ny][nx] == 0) { DFS(ny, nx, cnt); } } return; } int main(){ cin >> N >> M; for(int i=0; i<N; i++){ for(int j=0; j<M; j++){ cin >> adj[i][j]; } } for(int i=0; i<N; i++){ for(int j=0; j<M; j++){ if(vis[i][j] == 0 && adj[i][j] == 1) { cnt++; DFS(i, j, cnt); } } } cout << cnt; return 0; }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
수업 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. using namespace std; const int V = 10; vector<int> adj[V]; int visited[V]; void go(int idx){ cout << idx << '\n'; visited[idx] = 1; for(int there : adj[idx]){ if(visited[there]) continue; go(there); } return; }visited가 1로 되면서 해당 노드로 다시 가지 않는 로직을 구현한 것은 이해 했습니다. 0번 노드부터 순차적으로 n번 노드까지 가면서 노드에서 연결된 노드로 가는 로직으로 이해했습니다. 결국 for문이라는 것은 from 노드부터 to 노드까지를 반복하는 것인데, 예를 들어 1번 노드와 3번 노드가 무방향 그래프라면 1번 노드로 갔다가 다시 3번 노드로 오는 것을 막는데 visited=1을 사용하는 것으로 이해했습니다.1번 노드의 for일 때, 1번 노드가 3번 4번과 연결되어 있다면, 1->3, 1->4의 로직이 실행될 겁니다. 제가 이해가 안 가는 것은 이 1번 노드에서 3번 노드로 가고 1번 노드에서 4번 노드로 가는 것이 1번 노드로 다시 가지 않은 것 인가에 의문이 듭니다.사람으로 비유를 하자면 결국 1번에서 3번을 갔다면 3번에서 4번의 길이 없으면 4번으로 못가는 거 처럼요. 그럴 경우 3번에서 1번으로 돌아가고 4번으로 가야 하는 것 아닌가요? 근데 정말 이것이 1번 노드로 다시 돌아가지 않은 것인가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문 있습니다.
안녕하세요.큰돌님의 강의를 수강하면서 코딩테스트를 준비하고 있는 학생입니다.강의와 교안에 나와있는 알고리즘만으로 대기업 코딩테스트 대비가 가능한지 궁금합니다. 요즘 과제전형으로 대체를 하는 추세이나 아직도 코딩테스트를 많이 보는 기업들이 많기에, 얼마나 효율적으로 공부하여 준비해야할지 모르겠습니다.좋은 강의 올려주셔서 감사합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
dev-c++에서 c++17이상 설정
안녕하세요! 위와 같이 dev-c++이 설정되어 있어서 그런지auto &[v, weight] 이러한 코드를 쓸 때 항상 오류가 납니다. 저 코드는 c++17이상이어야 한다는 말을 들어서 이렇게 -std=c++17로 설정을 바꾸어 보았으나위와 같이 dev-c++이 c++17을 인식하지 못하는 모습을 보이고 있습니다.또한 dev-c++ 쓰면 한글이 utf-8이 아니라 euc-kr로 저장이 되는 것 같습니다. 그래서 github에 올렸을 때 가끔 한글이 깨지는 모습을 보이기도 합니다. 요약해보면,dev-c++에서 c++17이상을 인식 못해서 auto &[v, weight] 이러한 코드를 쓰지 못합니다. c++17이상으로 바꾸는 방법을 알고 싶습니다.dev-c++에서 한글을 euc-kr로 저장하는 것 같습니다. utf-8로 저장하는 방법이 궁금합니다. 답변 부탁드립니다. 감사합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-M 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 위와 같이 스택말고 vector로 지정해서 풀었습니다. 처음에는 vector를 전역변수로 선언하고 vector<char> v; 자리에 v.clear(); 로 매번 빈 벡터를 넣을 수 있게 했습니다. vector말고 스택의 이점이 있나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
67.2-A 질문
선생님 안녕하세요. 다름이 아니라 해당 강의 1:25초 때 선생님이 보여주시는 알고리즘 교안에는 입력> 따닥따닥 붙어있는 것을 1. string으로 변환 2.scanf로 변환 부분이 있는데 25.7.31 버전 알고리즘 교안에는 아래와 같이 해당 부분이 없습니다.확인해 주실 수 있을까요?혹시 제가 알고리즘 교안 최신 버전을 못 찾고 있는 것이라면 말씀 부탁드립니다.감사합니다.
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
수업 교재 링크 문의
안녕하세요 강사님!다름이 아니라 업로드 해주신 노션 교재 링크에 들어가면(노트북 사용) 아래 사진과 같이 모든 자료들이 비활성화 되어 교재를 볼 수 없습니다ㅠㅠ모바일로 접속해야만 교재가 보이는 상황이구요ㅠㅠ 노트북으로 못보니 너무 불편한데 혹시 방법이 있을까요,,?
-
해결됨[노베이스/입문] 게임회사 코딩테스트 스파르타 클래스
방문 횟수 셀 때 cnt vs token
안녕하세요. 바로 전 강의에서 바이러스 문제를 풀이해주실 때는 전역변수 cnt를 통해 방문 횟수를 세셨는데요. 그 방식이랑 token을 이용하여 방문 횟수를 세는 방식 중 하나로 고정해서 사용하는 게 좋을 것 같은데 둘 중 더 나은 있는 방식이 있는지 궁금하고 더 나은게 있다면 그 이유도 궁금합니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-Q 질문있습니다
안녕하세요 큰돌님 문제를 풀다가 이해안되는 부분이 있어 질문드립니다.https://www.acmicpc.net/source/98984224Q1. 저는 dfs 부분에서 0일때 1일때 다르게 처리 했는데요 1만나면 방문처리, 벡터에 담고, 더이상 탐색을 안하는데 왜 쌤이 구현한 방식이랑 치즈개수에서 차이가 나는지 궁금합니다.주석처리한 부분이 쌤이 구현하신 코드입니다. Q2. 이런 동시 확산문제에서는 dfs(), bfs()에 좌표뿐만 아니라 동 시간대라는 정보를 주기 위해시간 정보도 같이 인자로 넣어서 풀어도 될까요? bfs(int y, int x, int t)
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-F 질문있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.사진과 같이 작성했는데 괜찮나요? char 타입일 때, 비교 operator에서는 아스키코드 기반으로 크기를 체크하나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-G 답안 코드에서 출력 관련 질문이 있습니다.
안녕하세요 큰돌님 강의 질문이 있습니다.마지막 출력하는 부분에서 왜 하기와 같은 방식으로 출력하는 것인지 궁금합니다.꼭 vector for문 내부에 pair 에 대한 for문이 들어가야하는걸까요? vector 만으로 접근은 안되는 것일까요? for (auto it : v) { for (int i = 0; i < it.first; i++) { cout << it.second << " "; } }
-
해결됨[노베이스/입문] 게임회사 코딩테스트 스파르타 클래스
struct 대신 tuple 사용해도 괜찮나요?
안녕하세요. 3개 이상의 데이터를 저장해야할 때 struct 대신 tuple을 사용해도 괜찮을까요? 혹시 tuple을 사용하게 되면 안 좋은 점이 있는지 궁금합니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
병합정렬
병합정렬 관련하여 강의나 인사이트 얻을 수 있는 글 추천해주실 수 있나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K. 팰린드롬 정답 코드 관련 질문
안녕하세요 선생님다름 아니라 설명하신 문제 정답 코드에 대해 질문이 있습니다.선생님 정답 코드에는 아래 두 줄 코드가 아래처럼 되어 있는데 순서를 이렇게 하신 특별한 이유가 있을까요?제가 생각해보기에는 두 줄의 위치를 바꾸는 것이굳이 팰린드롬을 만들 수 없는데 mid가 존재하는 경우에 ret.insert(~~)구문을 실행할 필요가 없어 더 좋아보여 여쭤봅니다.~~if(mid) ret.insert(ret.begin() + ret.size()/2, mid); if(flag == 2) cout << "I'm sorry Hansoo\n";
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-Q 질문
http://boj.kr/43e74e71a1b7491fadc5630ea339fa8b 안녕하세요 교수님, 교수님은 visited 배열의 값을 증가하는 방식으로 도착지점의 visited 값을 출력했는데,위 제 코드와는 좀 다른 것 같아서 순수한 궁금증으로 어떠한 코드가 더 효율적인지, 더 나은 코드인지 궁금합니다!