묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨CUDA 프로그래밍 (2) - C/C++/GPU 병렬 컴퓨팅 - 벡터 vector 더하기
Warp 갯수에 대한 고찰입니다....
SM내 warp가 24개가 이상일 경우에 overlab이 생기지 않아 효율적인 스케줄링이 가능하다는 것은 정확히 이해 했지만, Warp 갯수가 적어지면 근본적으로 작업시간 자체는 줄지 않을까? 그렇다면 빨리 끝나는게 스케줄링이 좋은거 아닐까? 라는 생각이 들었습니다.다음은 제 생각을 담은 그림입니다.다음과 같이 23개의 warp가 overhead가 걸릴 수는 있겠지만 일이 끝나는 시간은 짧지 않을까?또 반대로 warp의 수가 작다는 것은 일 양이 많지 않다는 것이니 당연히 빨리 끝나는게 맞지 않을까?라는 생각을 했습니다.
-
미해결홍정모의 따라하며 배우는 C++
헤더파일 include 질문있습니다.
string 헤더파일을 include 해주지않아도 string 클래스와 멤버함수들까지 에러없이 컴파일되고 실행이 되는 이유를 모르겠습니다 ㅠㅠ 네임스페이스 때문인가 해서 4번줄 주석처리하고 std::string a3 = "hello";를 해도 마찬가지로 문제없이 컴파일이 되네요.. 요즘 컴파일러가 똑똑하다(?)라는말이 이런데서 나오는 걸까요??
-
해결됨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; } 크루스칼로 풀어도 풀리는데 이것도 맞는 풀이인가요?테스트 케이스가 더 잇엇으면 좋겟네요
-
미해결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] << " "; } }
-
미해결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는 사용할 수 있다고 알고 있습니다. 항상 감사드립니다.
-
해결됨it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
정렬 기준을 무게로 잡아도 풀리는데,,
밑면 넓이 기준으로 정렬하고 무게를 LIS 하는 것이랑무게를 기준으로 정렬하고 밑면 넓이를 LIS 하는 것 둘다 같은 답이 나오는데 이렇게 풀어도 되는 것이 맞나요?왜냐면 문제 조건에 무게도 같은게 없다고 나와서 그렇게 생각했습니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-F 시간복잡도 O(2^26) 이면 풀려야 하는 것 아닌가요? ㅠㅠ
자바가 느려서인지, 아니면 제가 첨부터 접근을 잘못한건지 모르겠습니다. ㅠㅠpackage lecture4; import java.util.*; public class Prob1062 { static List<Set<Character>> sets = new ArrayList<>(); public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); if(k<5){ System.out.println(0); return; }else if (k==26){ System.out.println(n); return; } List<String> list = new ArrayList<>(); for (int i = 0; i < n; i++) { // 문자열 입력 받기 String str = sc.next(); list.add(str); Set<Character> set = new HashSet<>(); // 각 문자열의 문자들을 Set에 저장. for (char c : str.toCharArray()) { set.add(c); } sets.add(set); } List<Set<Character>> filtered = new ArrayList<>(); for (int i = 0; i < n; i++) { // K 보다 많은 알파벳으로 이루어진 경우 제외 if(sets.get(i).size()<=k){ filtered.add(sets.get(i)); } } List<Integer> masks = new ArrayList<>(); for (Set<Character> set : filtered) { // Set의 각 알파벳을 대응되는 비트마스크로 표현 masks.add(setToMask(set)); } int mask = 1; int max = 0; while (mask < (1<<26)-1){ // 모든 경우의 수 탐색 if(Integer.bitCount(mask)>k){ // 비트마스크의 1 개수가 k 보다 크면 다음 경우로 넘어가기 mask++; continue; } int count = 0; for (Integer m : masks) { // 문자열을 비트마스크로 표현한 것을 비교해서 읽을 수 있는건지 개수 샘 if((mask & m) == m){ count++; } } max = Math.max(max,count); // 최대값 저장 mask++; } System.out.println(max); } private static int setToMask(Set<Character> set){ int[] num = new int[26]; for (Character character : set) { num[25 - (character-'a')] = 1; } StringBuffer sb = new StringBuffer(); for (int i : num) { sb.append(i); } return Integer.parseInt(sb.toString(),2); } }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
벡터안쓰고 벽을 세우는 법은 없을까요?
dfs랑 땅넓이구하기는 제 나름대로 했는데 점 세개를 배열로 고르려는데 어떻게 구현할지 막혀서 못 풀었는데 벡터 안쓰고 배열로만 점 세개를 고르는 이런 알고리즘도 있을까요? 벡터쓰는게 무조건 낫거나 없으면 답변 안해주셔도 됩니다 ㅜㅜ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-O 맞은거 같은데 왜 틀릴까요? ㅠㅠ
#include<iostream> #include<string> #include<stack> using namespace std; bool check(string s){ stack<char> stk; for(char c : s){ if(c=='(')stk.push(c); if(c=='[')stk.push(c); if(c==')'){ if(stk.empty()||stk.top()=='['){ return false; } stk.pop(); } if(c==']'){ if(stk.empty()||stk.top()=='('){ return false; } stk.pop(); } } if(stk.size())return false; else return true; } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); while(1){ string str; getline(cin,str); if(str==".")break; if(check(str))cout<< "yes\n"; else cout<<"no\n"; } return 0; }
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
디스어셈블리 질문입니다.
13분 22초에 나오는 플레이어 스탯 관련 질문입니다.저 같은 경우는 ebp레지스터의 위치를 기준으로 값을 할당하는게 아닌아래의 내용처럼 eax레지스터의 주소에 +4, +8한 값을 이용하여 변수에 값이 할당되는데요제 컴퓨터는 왜 eax레지스터를 이용하였는지 궁금합니다. ret.hp = 100;00CC245E mov eax,dword ptr [ret] 00CC2461 mov dword ptr [eax],64h ret.attack = 10;00CC2467 mov eax,dword ptr [ret] 00CC246A mov dword ptr [eax+4],0Ah ret.defence = 2;00CC2471 mov eax,dword ptr [ret] 00CC2474 mov dword ptr [eax+8],2
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
ios_base::~ cin.tie(~)를 쓰는 기준이 언제일까요?
교안이나 강의중에 설명 있었나요? 그럼 죄송합니다;;
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시뮬레이션이 정확하게 무엇인가요?
삼성 코딩테스트는 주로 시뮬레이션이 나온다고 하는데 그렇다면 시뮬레이션이 정확히 무엇인가요?단순 빡구현이라고들 많이 표현하던데 그렇다면 별다른 알고리즘을 안쓰고 구현만 해내는것인가요? 이 강의에선 어디를 집중적으로 풀어야 할까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
할당된 메모리를 감싸는 'cccccccc' 질문 드립니다
멤버변수 int hp; 하나만 지정 하고a.hp=1;b.hp=2; 식으로 a,b 로 각각 대입했을때 메모리가 cccccccc0000002cccccccccccccccc0000001cccccccc 식으로 메모리가 올라오는데 감싸고 있는 'cccccccc' 의미가 있는 값인가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세여 질문이 있습니다!
큰돌님 안녕하세여! 저는 게임 클라이언트 프로그래머가 되기 위해서 C++ , C# 유니티 등을 공부중입니다. 그런데 CS관련지식도 필요할 거 같아서 큰돌님의 CS지식의 정석 편을 들어도 되는지가 궁금해서 질문 남깁니다. 실습이 자바나 자바스크립트 위주로 진행된다는데 저는 C++, C#만 공부했는데 들어도 댈까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G(9996번 문제) 질문 드립니다.
안녕하세요, 선생님!선생님 수업 들으면서 정말 즐겁게 공부하고 있는 이직 준비생(?) 입니다..!다름이 아니라 9996번 테스트케이스는 통과하는데 어떤 반례에서 걸리는지 채점 중(13%..) 즈음에 "틀렸습니다" 라는 메세지가 뜹니다.최대한 예시를 안보고 풀려고 하고 있는데, 어떤 부분을 잘못 이해했는지 감이 잡히질 않아 이렇게 질문 드립니다ㅠㅠ혹시나 ab*ba 패턴일 때 aba 의 결과가 DA 로 출력 되어야 하나요..? 시간 되실 때 한 번 확인 부탁 드립니다 선생님ㅠㅠhttps://www.acmicpc.net/source/58695737
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
주소 전달 과 참조 전달 관련하여 질문있습니다
값 전달과 주소 전달 2개만 봤을 때 되도록 이면 주소 전달을 사용하라고 하셨는 대주소를 알면 그 데이터의 값을 접근 할 수 있으니까 굳이 값 전달 사용 하지 않고 주소 전달만 사용해도 되는 부분일까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
bits/stdc++.h가 안되서 tie를 못쓰는데 헤더가 있나요?
제 vscode가 멍청이라 <iostream>밖에 안 돼서 header를 항상 입력해서 풀어보거든요 tie의 헤더 여쭤봐도 될까요 근데 구글링 해봐도 안 나오는데 없나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-m string::npos vs end() 질문입니다,
안녕하세요 강사님! 좋은 수업 감사합니다.http://boj.kr/09947ca408364d6984681d898089205c저는 string::npos대신 end함수를 이용하여서 풀어보았는데 end는 컴파일 오류가 뜨더라구요,,end는 안되고 string::npos여야만 하는 이유가 궁금합니다!