Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 필기
- 1인 게임 제작
- 정보처리기사
- Pong
- 1인 게임 개발
- 자바스크립트
- Unity
- Unity #Unity2D #Portal
- 1인 게임
- 합격
- 토이 프로젝트
- 유니티 3D
- 게임 제작
- 퐁
- 유니티
- 게임제작
- Vampire Survivors
- 유니티3d
- 프로그래머스 #최소힙 #우선순위 큐
- FPS
- Unity2D
- unity3d
- 자바스크립트 게임
- 게임
- 1인 개발
- 정처기 필기
- portal
- 게임 개발
- 3회차
- 정처기
Archives
- Today
- Total
Coding Feature.
C++ 코테 준비에서 알면 좋은 프로그래밍 기법. 본문
개인적으로 코딩테스트에서 사용하기 위해 기억하면 좋을 프로그래밍 기법들을 정리해보았습니다.
생각날 때마다 계속해서 업데이트 할 예정입니다!
공백을 포함한 문자열 입력 받기(getline)
int main() {
string str;
getline(cin, s);
cout << str;
}
문자열 파싱
sstream 라이브러리 이용.
아래는 "12 23 34 45", 공백으로 각 Interger가 나뉘어져 있는 문자열을 파싱하고 sum을 구하는 코드입니다.
#include <iostream>
#include <sstream>
using namespace std;
int main() {
string str = "12 23 34 45";
stringstream ss(str);
int A, sum = 0;
while(ss >> A){
sum += A;
cout << A << ' ' << sum << '\n';
}
return 0;
}
/*
결과:
12 12
23 35
34 69
45 114
*/
문자열 연결(합치기)
1. '+' 사용
string 형은 파이썬같이 +를 이용해서 합칠 수 있습니다.
#include <iostream>
using namespace std;
int main() {
string str1 = "Hello ";
string str2 = "World! ";
string str3;
str3 = str1 + str2;
cout << str3;
return 0;
}
/*
결과:
Hello World!
*/
문자열 내 자르기
substr 사용.
string str1 = "0123456789";
string str2 = str1.substr(4, 3);
// substr(시작 index, 문자열 길이)
cout << str2; // 결과값 : 456
String과 Integer 변환
String -> Integer
1. stoi 사용
stoi는 string과 char 배열에 담긴 숫자를 interger 형태로 변환해줍니다.
아래는 string으로 저장된 "12"와 char 배열로 저장된 "23"을 각각 stoi를 사용해 integer로 변환시켜주고 더해주는 코드입니다.
#include <iostream>
using namespace std;
int main() {
string str = "12";
char char_str[3] = "23";
int A = stoi(str) + stoi(char_str);
cout << A;
return 0;
}
/*
결과:
35
*/
2. sstream 라이브러리 사용.
stoi 함수보다는 덜 직관적이지만 sstream을 사용해서 string을 int로 변환할 수 있습니다.
#include <iostream>
#include <sstream>
using namespace std;
int main() {
string str = "12";
char char_str[3] = "23";
int temp, sum = 0;
stringstream ss1(str), ss2(char_str);
ss1 >> temp;
sum += temp;
ss2 >> temp;
sum += temp;
cout << sum;
return 0;
}
Integer -> String
to_string 함수 사용.
#include <iostream>
using namespace std;
int main() {
string str;
str = to_string(123) + " " + to_string(456);
cout << str;
return 0;
}
/*
결과:
123 456
*/
Vector 내 원소 순회하기
1. size 함수 사용.
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec = {1, 2, 3, 4, 5};
int vec_size = vec.size();
for(int i=0;i<vec_size;i++){
cout << vec[i] << ' '; // 출력: 1 2 3 4 5
}
return 0;
}
2. auto 키워드 사용.
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec = {1, 2, 3, 4, 5};
for(auto & element : vec){
cout << element << ' '; // 출력 : 1 2 3 4 5
}
return 0;
}