본문 바로가기

C++16

C++ 벡터 특정 원소 지우는 방법 vector.erase() C++ 벡터에서 특정원소 지우는 방법 erase(int position) 해당하는 위치의 원소를 지운다. v.erase(v.begin()+4)는 벡터 v의 다섯 번째 원소를 지운다. erase(int start, int end) 해당하는 범위의 원소를 지운다. start는 포함하고, end는 포함하지 않는다. v.erase(v.begin()+2, v.begin()+5)는 세 번째부터 다섯 번째 까지의 원소를 지운다. 예제 https://www.hackerrank.com/challenges/vector-erase/problem #include #include #include #include #include using namespace std; int main() { /* Enter your code her.. 2019. 4. 20.
C++ vector를 이용해 정렬하는 방법 C++ 벡터를 이용해서 정렬하는 방법 sort(vector.begin(), vector.end())를 이용하면 벡터를 정렬할 수 있다. 다음과 같은 의문이 든다. 벡터 sort는 어떤 정렬을 사용할까? int형 벡터가 아닌 char형도 정렬되겠지? #include #include #include #include #include using namespace std; int main() { /* Enter your code here. Read input from STDIN. Print output to STDOUT */ int N, input; cin >> N; vector v; for(int i = 0; i > input; v.push_back(input); } sort(v... 2019. 4. 20.
C++ 벡터를 이용해서 길이가 다양한 이차원 배열 구현하기 C++ 벡터를 이용해서 이차원 배열 구현하기 c++에서는 vertor를 이용해서 가변 길이의 배열을 구현할 수 있다. 생각해볼 문제는 배열을 이용해서 구현하는 것과 무슨 차이가 있느냐라는 것이다. 배열을 이용하는 것과 벡터를 이용하는 것의 차이는 무엇인가? 벡터를 사용하는 방법은 무엇인가? #include #include #include #include #include using namespace std; int main() { /* Enter your code here. Read input from STDIN. Print output to STDOUT */ int n, q, k; scanf("%d %d", &n, &q); // create vectors of vectors vector v(n); // .. 2019. 4. 19.
C++ | #include <bits/stdc++.h> 헤더파일이란 무엇인가? bits/stdc++.h 헤더파일은 무엇일까? 백준 온라인 저지, HackerRank, LeetCode, codeforces 등과 같은 알고리즘 문제 풀이 사이트나 코딩 연습 사이트 등을 보면 #include 파일을 볼 수 있다. 간단하게 말하면 모든 표준 헤더 파일이 포함된 헤더 파일이다. 코딩 문제를 풀 때, 특히 알고리즘 문제를 푸는 대회에 나간 경우 문제를 푸는 속도가 순위에 영향을 주는 경우가 많다. 이런 경우에 일일이 헤더 파일이 입력하는 것이 시간 낭비가 될 수 있다. 따라서 bits/stdc++.h 한 번만 입력하면 되므로 많은 시간을 절약할 수 있다. 모든 헤더 파일을 기억하지 않아도 된다는 장점과 시간 절약을 할 수 있다는 장점이 있다. 하지만 단점 또한 존재한다. 쓰지 않는 헤더 파일.. 2019. 4. 4.
C++ 강의 | 조건문 if와 if - else 문 그리고 if - else if -else 문 C++ 강좌 조건문 if와 if-else문 프로그래밍에서 조건문을 많이 사용한다. if-else문을 사용하면 많은 조건문 중에서 하나의 문장이 실행되거나 아무 문장도 실행되지 않는다. 조건문의 구조는 아래와 같다. if if (조건) { 문장; }if문에서 조건이 만족되면 문장(statement)이 실행된다. if - else if (조건) { 문장1; } else { 문장2; }if - else문에서 if문의 조건이 만족하면 문장1이 실행되고, 문장2는 실행되지 않는다. 조건이 만족하지 않는다면 문장1이 실행되지 않고, 문장2가 실행된다. 주의할 점은 문장1과 문장2중 하나의 body만 실행된다는 점이다. if - else if - else if (조건1) { 문장1; } else if (조건2) { .. 2019. 4. 2.
C/C++ printf 함수에서 실수 소수점 자리와 너비를 지정하는 방법 | 숫자 정렬해서 출력하기, 소수점 아래 자리수 지정하기 printf 함수에서 숫자 출력 형식 지정하기 printf함수를 이용하여 숫자를 출력할 때 형식을 설정해 줄 수 있다. #include int main() { double d1 = 3.14159 double d2 = 17.890 double d3 = 4123.45 printf("%10.6lf", d1); printf("%10.6lf", d2); printf("%10.6lf", d3); return 0; }위와 같이 소스 코드를 작성한다. printf함수에서 %4.6lf 형식 지정자 부분에 주목하자. % 뒷 부분에 숫자를 입력하여 자릿수를 결정할 수 있다. . 점을 기준으로 앞쪽은 실수의 자릿수, 뒷쪽은 소수점의 자릿수를 결정한다. 위의 예에서는 실수를 10자리의 수로 표현하고, 소수점 아래 6자리 까지 .. 2019. 4. 2.
C++ 강의 | 기본 데이터 타입과 형식지정자 그리고 C++의 출력과 입력 scanf와 printf C++의 기본 데이터 타입(Basic Data Types)과 형식지정자(format specifiers) int : 형식지정자 %d, 32 bit integer long : %ld, 64 bit integer char : %c, character type float : %f, 32 bit real value double : %ld, 64 bit real value 읽기 데이터 타입을 읽기 위해서는 아래와 같은 문법을 가진다. scanf("형식 지정자", &value);예를 들어 아래와 같이 쓰면 된다. char ch; long l; double d; scanf("%c %f %lf", &ch, &l, &d);출력하기 출력할 때는 아래와 같은 문법을 따른다. printf(" 형식지정자 ", value);예를.. 2019. 4. 1.