전체 글
-
[bj 8958] c++, cin 다음에 cin.getline 사용할 시 cin.ignore() 해주기Programming 기초/Coding Test 2024. 7. 19. 16:29
https://www.acmicpc.net/problem/8958 동적할당을 이용한 문자열을 연습하기 위해 아래와 같이 코드를 짜보았다.#include using namespace std;int main(int argc, char **argv){ int n; cin >> n; cin.ignore(); for (int i = 0; i 주의해야 할 점cin은 버퍼에 '\n'이 남아있어서 cin.getline() 하기 전에 cin.ignore()로 버퍼를 비워주지 않으면 cin 직후의 cin.getline에 '\n'이 입력되어버린다.처음에는 아무생각없이 cin.getline 직전에 cin.ignore()를 적용했으나, cin.ignore()는 디폴트값이 버퍼의 1개를 지우는 것이므로 c..
-
[c++] vscode에서 c++ 설치 the prelaunchtask c/c++: gcc build active file terminated with exit code -1 에러 해결Programming 기초/C++ 2024. 7. 19. 15:50
https://www.youtube.com/watch?v=UqCZda8DLGc&t=9792s 위 영상을 참고했다. https://code.visualstudio.com/docs/cpp/config-mingw먼저 g++을 설치해야하는데, window에 경우 MinGW를 통해 설치한다. https://www.msys2.org/사이트에서 아래 설치파일을 다운받아서 실행하고 기본 설치위치 그대로 쭉 설치해준다. 설치가 완료되면 MSYS2 터미널 창이 뜬다. pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain 명령어 입력 후 default all 머시기 뜨면 enter 누르고y/n 뜨면 y 눌러서 쭉 진행해준다. 마지막에 g++ 제대로 설치되었는지, 버전..
-
[c++] 참조자형식 "&"Programming 기초/C++ 2024. 7. 19. 10:47
* "&"는 참조자 형식(reference )이다. 형식 &이름 = 원본;의 형태로 쓴다.- 선언과 동시에 반드시 초기화해줘야 한다.#includeusing namespace std;void TestFunc(int &rParam){ rParam=100;}int main(int argc, char **argv){ int nData = 10; int &ref = nData; ref = 20; cout 주소를 알려주는 역할이라고 보면 될 듯 하다. 함수에서 주소로 받고자 할 때 많이 사용되고, 아래와 같이 for 문에서도 활용된다. #includeusing namespace std;int main(int argc, char **argv){ int aList[5] = {..
-
[bj 3052] c++ 풀이 및 bits/stdc++.hProgramming 기초/Coding Test 2024. 7. 19. 10:08
https://www.acmicpc.net/problem/3052 내 풀이#includeusing namespace std;int main(int argc, char** argv){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int array[43]={0}; int tmp; int cnt=0; while (cin >>tmp) { int remain = tmp%42; if (!array[remain]){ array[remain]=1; ++cnt; } } cout 찾아본 풀이#includeusing nam..
-
[bj 10809] c++ 풀이 -> 문자열 동적할당 직접 구현하기Programming 기초/Coding Test 2024. 7. 12. 19:27
https://www.acmicpc.net/problem/10809#include#includeusing namespace std;int main(int argc, char** argv){ int cnt[26] = { 0 , }; string s; cin >> s; for (char i = 'a'; i 코드 출처 : https://cryptosalamander.tistory.com/11std::string과 std::find를 사용하면 쉽게 구현할 수 있는데, string을 문자열 동적할당을 이용해서 직접 구현해보았다. #includeusing namespace std;// 문자열의 길이를 반환하는 함수int slen(const char* str) { int index = 0; w..
-
[3dgs] open3d로 point cloud 시각화Machine Learning 2024. 7. 4. 11:34
https://www.open3d.org/docs/release/tutorial/geometry/surface_reconstruction.html Surface reconstruction - Open3D 0.18.0 documentationPrevious Octreewww.open3d.orghttps://www.open3d.org/docs/latest/tutorial/Basic/pointcloud.html#DBSCAN-clustering Point Cloud — Open3D latest (664eff5) documentationThis tutorial demonstrates basic usage of a point cloud. Paint point cloud print("Paint chair") chai..
-
[c++/bj 1152] 단어의 개수 : getline, cin 풀이Programming 기초/Coding Test 2024. 7. 2. 08:44
공백으로 구분되는 영어 단어의 나열인 문자열이 주어진다. 문자열은 공백으로 시작하거나 끝날 수 있다.#includeusing namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int cnt = 0; string str; getline(cin, str); int pre = ' '; for (int i: str) { if (pre == ' ' && i != ' ') { cnt += 1; } pre = i; } cout cin은 공백을 기준으로..
-
[C++] cin.ignore와 버퍼에 대한 이해Programming 기초/C++ 2024. 6. 28. 19:31
cin cin은 character input의 약자로, 버퍼의 값을 읽어온다. 만약 버퍼에 읽어올 값이 없으면 표준입력스트림으로부터 입력을 받아와 버퍼에 저장하고나서 버퍼의 값을 읽어온다.입력을 받는다는 것이 아닌 버퍼를 먼저 읽으려고 한다는 관점이 중요하다.(버퍼는 자료구조 queue와 유사하다. 선입선출로 작동한다.) 'cin >>' 은 공백(스페이스, 탭, 줄바꿈)문자를 기준으로 끊어서 읽어오고, 공백문자는 무시한다.#include using namespace std;int main() { char name[100]; cout > name; cout 0. 버퍼에 다음과 같이 저장된다. [ j ] [ o ] [ h ] [ n ] [ ' ' ] [ n ] [ a ] [ n ] [ a ]..