묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[완료]split 과 cin 에 대한 질문 입니다.
안녕하세요. 강사님.split 강의를 보다가split 함수에 들어가는 input 에 대응되는 인자를cin 메소드로 입력받게 했는데요.이상하게 첫 번째 token 만 받아와져서왜 해당 코드에선 정상 작동하지 않는지 궁금합니다.=============================================cin 이 공백 기준으로 구분 짓는다는 것을 잊었네요.std::getline 를 통해서 해결할 수 있는 것을 확인했습니다.=============================================#include <bits/stdc++.h> using namespace std; // split vector<string> split(string input, string delimiter) { vector<string> ret; long long pos; string token = ""; while((pos = input.find(delimiter)) != string::npos) { token = input.substr(0, pos); ret.push_back(token); input.erase(0, pos + delimiter.length()); } ret.push_back(input); return ret; } int main(void) { string abc, delimiter; cout << "input : "; // 입력을 받는 부분 cin >> abc; // abc = "a b c"; delimiter = " "; vector<string> result = split(abc, delimiter); for(auto it : result) cout << it << '\n'; return 0; }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-m 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요~~ 강의 잘 보고 있습니다.강의 중 3:18 에 "for문 c를 이렇게 한 점 ~" 이러는 부분 코드for(c++; c < n; c++)시작점에 c++ 이 있는 for문은 처음 보는데 검색해도 안나와서 설명 부탁 드립니다.for 문 돌기 전 저장된 c 에서 ++ 된 값으로 시작한다는 의미인가요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-I bool cmp함수에 대해 질문입니다
안녕하세요 강사님!첫번째 질문입니다!15행에 있는 bool타입의 cmp함수에 대해서 궁금한것이 있습니다. 저는 비교할 a와 b를 atoi함수를 이용하여 정수형으로 바꾼 다음 true와 false값을 반환하고 싶었습니다.http://boj.kr/5ddd323af5c04a56b8275929460adbd4하지만, 실력이 미숙하여서 atoi함수를 이용한 정답을 찾지 못하고 있습니다.그래서, atoi함수를 이용한 bool타입의 cmp함수의 코드가 궁금합니다! 두번째 질문입니다.http://boj.kr/665da2ad9cd1493ca004c528b5a74454위 코드를 이용해서 문제의 예제입력3번을 입력하면 출력값으로 0 0 0 1 2 3 4 7이 나옵니다.이 중, 0이 나오는 위치를 찾아보니 01bond와 03bond뒤에 0이 각각 출력됩니다. 고민해봐도 0이 왜 출력되는지 모르겠어서 질문 드립니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-E 의 단순 질문입니다
큰돌님 께서는 quard함수 안에 bool flag=0을 선어 하셨는데 하신 이유가 궁금합니다
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
봉우리문제에서 이해가되지않는부분이있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 받은 행렬은 0으로 초기화 한 가장자리가없는데 왜 그러한 행렬을 만들어주는 작업이 없는거죠?? 잘 이해가 되지않습니다.. 가장자리는 무조건 작다 라고 하는거도 이해가되는데 없는 행렬을 어떻게 비교할수있는지 모르겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-G 문제 풀이 질문있습니다
http://boj.kr/c3c5f90c10764291bfde2d6fe64406a2 자꾸 런타임에러(segfault)가 뜨네요 ㅜ원인이 무엇인지 궁금합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-R 틀린 이유를 알고싶습니다ㅠㅠ
안녕하세요 큰돌님!2-R에서 선생님께서는 child라는 변수를 만들어 기저사례를 정하셨는데 저는 a[here].size() 즉 배열의 크기가 0이면 return 1을 하도록 기저사례를 정의했습니다.그렇게 했더니 틀렸습니다가 뜨더군요ㅠㅠㅠ 배열의 크기로 확인하면 안되는 걸까요..?#include <bits/stdc++.h> using namespace std; vector<int> a[54]; int n, tmp, del, root; int dfs(int here) { int ret = 0; //이 부분입니다! if(a[here].size() == 0) return 1; for(int there : a[here]) { if(there == del) continue; ret += dfs(there); } return ret; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cin >> n; for(int i = 0; i < n; i++) { cin >> tmp; if(tmp == -1) root = i; else a[tmp].push_back(i); } cin >> del; if(del == root) { cout << 0 << "\n"; return 0; } cout << dfs(root) << "\n"; return 0; }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-B똑같이 친거같은데 결과가 다르네요
using namespace 아래로 답지꺼 복붙 하니까 제대로 되는데 제가 답지 따라서 타이핑 친 건 이건데 안 나오네요 아무리 봐도 어디가 잘못된 줄 모르겠어요#include<iostream> #include<cstring> #include<queue> #include<tuple> using namespace std; int n, m, mx, visited[54][54]; const int dy[]={-1,0,1,0}; const int dx[]={0,1,0,-1}; char a[54][54]; void bfs(int y, int x){ memset(visited,0,sizeof(visited)); visited[y][x]=1; queue<pair<int,int>>q; q.push({y,x}); while(q.size()){ tie(y,x)=q.front();q.pop(); for(int i=0;i<4;i++){ int ny=y+dy[i]; int nx=x+dy[i]; if(ny<0||ny>=n||nx<0||nx>=m)continue; if(visited[ny][nx])continue; if(a[ny][nx]=='W')continue; visited[ny][nx]=visited[y][x]+1; q.push({ny,nx}); mx=max(mx, visited[ny][nx]); } } return; } int main(){ cin >> n >> m; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ cin>>a[i][j]; } } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(a[i][j]=='L')bfs(i,j); } } cout << mx-1 << "\n"; }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-B char는 띄어쓰기 없어도 그냥 배열에 받을 수 있는건가요
int경우에만 띄어쓰기 주의하면 되나요
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
.replace()
안녕하세요~ 정규식과 replace를 사용해서 이렇게 변경해도 될까요? function solution(s) { let re = /A/g; let answer = s.replace(re, "#"); return answer; } let str = "BANANA"; console.log(solution(str));
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2 - E 왜 틀렸는지 모르겠습니다. 도와주세요.
안녕하세요!정말 잘 풀었다고 생각하고 제출했는데, 반례를 찾기가 어렵습니다. 링크 제출합니다. 감사합니다.https://www.acmicpc.net/source/58918072
-
해결됨it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
이거 크루스칼로 풀어도 풀리는데 맞는건가요?
const p = [ [1, 2, 6], [1, 3, 3], [3, 2, 2], [2, 4, 1], [2, 5, 13], [3, 4, 5], [4, 2, 3], [4, 5, 7], ]; solution(p, 5, 8); function solution(p, city, line) { p.sort((a, b) => a[2] - b[2]); const unf = Array(city + 1).fill(0); for (let i = 0; i < city + 1; ++i) unf[i] = i; function find(v) { if (v === unf[v]) return v; else return (unf[v] = find(unf[v])); } function union(f1, f2) { const c1 = find(f1); const c2 = find(f2); if (c1 != c2) { unf[c1] = c2; return true; } return false; } let cost = 0; for (let i = 0; i < p.length; ++i) { const [c1, c2, val] = p[i]; if (union(c1, c2)) { cost += val; } } return cost; } 크루스칼로 풀어도 풀리는데 이것도 맞는 풀이인가요?테스트 케이스가 더 잇엇으면 좋겟네요
-
해결됨코딩테스트 [ ALL IN ONE ]
longest 사용 이유?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 왜 여기서 longest 변수를 사용하는건지 궁금합니다 그냥 cnt 출력하면 안되는건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-T 진짜 무식하게 풀기 테케는 통과되는데 ㅎㅎ
#include<iostream> using namespace std; int n, a[1000004], b[1000004]; int main(){ cin >> n; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<n-1;i++){ if(a[i]<a[i+1]){ b[i]=a[i+1]; }else if(a[i]>a[i+1]){ int k=i, temp=i; for(int j=i;j<n-1;j++){ if(a[j]<a[j+1])break; k++; } for(int j=temp;j<=k;j++){ b[j]=a[k+1]; } int flag=1; for(int j=i;j<n-1;j++){ if(a[i]<a[j+1]){ flag=0; break; } } if(flag)b[i]=-1; } } b[n-1]=-1; for(int i=0;i<n;i++){ cout << b[i] << " "; } }
-
미해결[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법
코틀린은 map int 밸류값에 ++ 안 되나요?
val a = mutableMapOf(1 to 2)일 때a[1]++하려고 하면 에러 나던데방법이 있나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2주차 개념 #4- 인접행렬 질문
안녕하세요 큰돌님.인접행렬 강의 관련하여 질문드립니다. [문제] 정점 20개인 그래프로 인접행렬 표현 시 메모리 최소로 쓸때, 배열 어떻게 만들어야 하나요? 질문1(강의 59초) 배열을 표현할때bool a[10][20]으로 할수도 있다라고 하셨는데, 이 표현이 20개의 노드중 10개의 노드로만 단방향 경로로 그래프를 만든다는 의미일까요? 질문2(강의 1분25초) arr[20][20] 필요한데 이보다 큰값을 부여할수 있다라고 언급하셨는데 a[10000][10000], 노드 20개를 이용해서 a[10000][10000] 배열을 어떻게 만들수 있는지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
삼성전자 라이브러리
안녕하십니까, 수강생입니다.큰돌님!알고리즘교안 교재에서 삼성전자 라이브러리는 iostream, stdio.h, string.h, algorithm 정도 외우면 된다고 했는데, VS를 사용하여 코디가 잘돌아가는 지 확인할 때 앞서 말씀드린 라이브러리정도만 외우면되나요?채첨시스템에 bits/stdc++.h는 사용할 수 있다고 알고 있습니다. 항상 감사드립니다.
-
해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이분 검색
찾고자 하는 M 값이 list에 없는 경우는 고려하지 않아도 되나요?
-
해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
스토쿠 검사
input_list = [list(map(int, input().split())) for _ in range(9)] # 행 체크 for i in range(9): temp = [] for j in range(9): temp.append(input_list[i][j]) if len(set(temp)) != 9: print("NO") exit() # 열 체크 for i in range(9): temp = [] for j in range(9): temp.append((input_list[j][i])) if len(set(temp)) != 9: print("NO") exit() # 블럭 단위 체크 9번 temp = [] for i in range(3): for j in range(3): temp.append((input_list[i][j])) if len(set(temp)) != 9: print("NO") exit() temp = [] for i in range(3): for j in range(3, 6): temp.append((input_list[i][j])) if len(set(temp)) != 9: print("NO") exit() temp = [] for i in range(3): for j in range(6, 9): temp.append((input_list[i][j])) if len(set(temp)) != 9: print("NO") exit() temp = [] for i in range(3, 6): for j in range(3): temp.append((input_list[i][j])) if len(set(temp)) != 9: print("NO") exit() temp = [] for i in range(3, 6): for j in range(3, 6): temp.append((input_list[i][j])) if len(set(temp)) != 9: print("NO") exit() temp = [] for i in range(3, 6): for j in range(6, 9): temp.append((input_list[i][j])) if len(set(temp)) != 9: print("NO") exit() temp = [] for i in range(6, 9): for j in range(3): temp.append((input_list[i][j])) if len(set(temp)) != 9: print("NO") exit() temp = [] for i in range(6, 9): for j in range(3, 6): temp.append((input_list[i][j])) if len(set(temp)) != 9: print("NO") exit() temp = [] for i in range(6, 9): for j in range(6, 9): temp.append((input_list[i][j])) if len(set(temp)) != 9: print("NO") exit() print("YES") 이런 식으로 이중 for문으로 모두 처리하는 것은 좋은 풀이가 아닐까요?강사님 풀이가 훨씬 깔끔하긴 한데, 4중 for문 시간복잡도와 제 풀이 중 어느게 더 빠른지 궁금합니다.
-
해결됨it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
정렬 기준을 무게로 잡아도 풀리는데,,
밑면 넓이 기준으로 정렬하고 무게를 LIS 하는 것이랑무게를 기준으로 정렬하고 밑면 넓이를 LIS 하는 것 둘다 같은 답이 나오는데 이렇게 풀어도 되는 것이 맞나요?왜냐면 문제 조건에 무게도 같은게 없다고 나와서 그렇게 생각했습니다