본문 바로가기

언어 기초/C언어

[코드업 | 기초100제 | 일지] 1051~1080 1. 학습목표 코드업 기초100제를 풀 수 있다. 2. 학습내용 복사 붙여넣기 없이 타이핑 연습과 c언어 개념을 사용해보았다. 3. 마무리 반복문의 결과를 다양하게 파악할수 있었다. 나머지 100제까지 완료한 후 몇가지 문제를 정리해보도록 해야겠다. 더보기
[코드업 | 기초100제 | 일지] 1000~1050 1. 학습목표 코드업 기초100제를 풀 수 있다. 2. 학습내용 복사 붙여넣기 없이 타이핑 연습과 c언어 개념을 사용해보았다. 3. 마무리 너무 늦게 시작했지만 꾸준히 공부하고 있다. 목적, 성실, 지속 그리고 ... 더보기
[큰돌 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주차]순열의 개념과 next_permutation 순서와 상관 있게 뽑는다면 순열이다. 순서와 상관 없게 뽑는다면 조합이다. 순열은 순서가 정해진 임의의 집합을 다른 순서로 섞는 연산을 말한다. 문제에서 순서를 재배치하여…, ~한 순서의 경우 max값을 이라면 순열문제이다. next_permutation() 사용시 주의할 점 next_permutation()과 prev_permutation() 두가지 함수중 보통은 next_permutation()을 쓰는데 그 때 배열을 오름차순으로 정렬해서 사용해야 한다. next_permutation()은 새로운 순열이 이전 순열보다 사전순으로 큰 경우 true를 반환하고 마지막 순열에 도달하고 범위가 첫 번째 순열로 재설정된 경우 false를 반환하는 함수이다. 이를 do - while문으로 모든 순열에 해당하는 .. 더보기
[큰돌 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++의 모든 표준 라이브러리가 포함된 헤더파일입니다. 네임스페이스란 많은 라이브러리를 불러서 사용하다보면 변수명 중복이 발생할 수 있는데 이를 방지하기 위해서.. 더보기