본문 바로가기

c++

[큰돌 C++ 알고리즘 코딩테스트 | 강의 0주차] split()함수 1. 학습목표 split()함수에 대해 이해할수 있다. 2.필요 개념 문장정리 split()함수란 다른 프로그래밍 언어에서도 문자열을 특정 문자열을 기준으로 쪼개어서 배열화시키는 함수라는 의미로 사용되는데 C++에서는 STL에서 split() 함수를 지원하지 않는다. 3. 코드작성 while ((pos = input.find(delimiter)) != string::npos) { // 특정문자열을 찾아 위치 반환 token = input.substr(0,pos); // 문자열 저장 ret.push_back(token); // 토큰결과를 저장할 ret 추가 input.erase(0, pos + delimiter.length()); // input 문자열에서 delimiter를 기준으로 토큰을 추출하고 각각.. 더보기
[요리조리 맛있는 C언어| PART04 연산자] 조건연산자?를 사용하여 최대값, 최소값 구하기 c언어를 공부하면서 java와 비교하여 추가적으로 학습하는 부분을 기록한다. 1. 학습목표 조건 연산자 ? 에 대해 이해할 수 있다. 2.필요 개념 문장정리 조건식 ? 식1 : 식2 첫 번째 피연산자인 조건식이 참이면 ? 뒤에 있는 식을, 거짓이면 : 뒤에 있는 식을 조건연산자의 결과로 취한다. 3. 코드작성 키보드로 3개의 정수를 입력받아 최소값을 출력하는 프로그램을 작성하세요. 단 조건연산자를 사용해서 처리합니다. #include int main() { int a, b, c, min; printf("3개의 정수를 입력하세요 : "); scanf("%d%d%d", &a, &b, &c); min = (a < b) ? a : b; min = (min < c) ? min : c; printf("최소값 : %.. 더보기
[큰돌 C++ 알고리즘 코딩테스트 | 강의 0주차] 조합 조합은 순서에 관계없이 경우의 수를 구해내는 것을 의미한다. 재귀함수를 이용한 조합 재귀함수는 반드시 암기해야 한다. 3자리 이하인 경우에는 중첩for문이 빠를 수 있다. 더보기
[큰돌 C++ 알고리즘 코딩테스트 | 강의 0주차] 재귀함수(recursion) 재귀함수 재귀함수(Recursion)는 정의 단계에서 자신을 재참조하는 함수 전달되는 상태인 매개변수가 달라질 뿐 똑같은 일을 하는 함수 큰 문제를 작은 부분문제로 나눠서 풀 때 사용합니다. 재귀함수 사용시 주의사항 반드시 기저사례를 써야 한다. (종료조건) if(n == 1 || n == 0) return 1; 사이클이 있다면 쓰면 안된다. ex) f(a)가 f(b)를 호출한 뒤 f(b)가 다시 f(a)를 호출하는 것 반복문으로 될 거같으면 반복문으로. (함수호출에 대한 코스트가 든다.) 팩토리얼과 피보나치에서의 활용 더보기
[큰돌 C++ 알고리즘 코딩테스트 | 알고리즘 교안] 공부환경세팅 및 시작 VSCode를 사용하여 학습합니다. MacOS에서 C++ 표준 라이브러리를 포함하는 헤더인 bits/stdc++.h를 사용하기 위한 세팅을 합니다. cd /usr/local/include mkdir bits cd bits vi stdc++.h 편집기에 a를 눌러 다음 코드를 넣어줍니다. https://raw.githubusercontent.com/wnghdcjfe/wnghdcjfe.github.io/master/bits/stdc++.h 코드는 직접 치면서 연습합니다. 필요 개념 문장정리 헤더파일을 include 합니다. bits/stdc++.h는 C++의 모든 표준 라이브러리가 포함된 헤더파일입니다. 네임스페이스란 많은 라이브러리를 불러서 사용하다보면 변수명 중복이 발생할 수 있는데 이를 방지하기 위해서.. 더보기