일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 언리얼 엔진5 #언리얼 클라이언트 프로그래밍
- Harvard
- UE_5
- CS50
- CS
- C++
- 언리얼엔진5 #언리얼 클라이언트 프로그래밍
- 백준
- 언리얼
- 네트워크 기초
- 오늘밤 세계에서 이 사랑이 사라진다 해도 #독후감 #오열
- 헤더 경로
- A* Algorithm
- 코드리뷰
- Gas
- 메테리얼
- 폭설 #미친 날씨
- Module
- 원카페#무인카페#카페추천#카페맛집
- c++ 베이직
- topdownmove
- Unreal
- Console
- build.cs
- STL
- 툰쉐이딩
- Toon Shading
- leetcode
- 순환 리스트
- 브론즈
- Today
- Total
목록C++ (21)
WN_인생기록
C++을 배우고 공부하고 쓰고 있지만, 정작 남에게 설명해줄 수 있는 실력이 되는가? 로부터 시작하는 시리즈가 될 예정이다. 면접 준비도 할겸 너무 자세히는 말고 간단한 예제와 기본 개념들을 짚어볼 것이다. 기본적인 개념들은"전문가를 위한 C++" 이라는 책을 기준으로 진행할 예정이다.

https://www.acmicpc.net/problem/11653 #include #include #include using namespace std;// 소수를 미리 계산하는 에라토스테네스의 체 알고리즘void calculate(int max, vector& primes){ // 소수인지 나타내는 bool 초기화 vector is_prime(max + 1, true); // 0과 1은 당연히 소수가 아니므로 미리 false 처리 is_prime[0] = is_prime[1] = false; // 2부터 특정 수까지 검사 for (int i = 2; i > N; vector a; vector primes; // 최대 소수 범위를 구하는데, 1을 더하면 놓치는 소수를 없애기 위함. // 소인수는 반드시 ..
https://www.acmicpc.net/problem/9506 #include #include using namespace std;int main(){ int n =0; while (n != -1) { cin >> n; vector x; int answer = 0; // 약수 찾아서 벡터 안에 대입 for (int i = 1; i 문제 풀이보다 출력이 더 까다로운 문제였던거 같다 ㅋㅋ
직렬화 : 오브젝트나 연결된 오브젝트의 묶음을 바이트 스트림으로 변환하는 과정- 복잡한 데이터를 일렬로 세우기 때문에 직렬화 라고 함 시리얼라이제이션(직렬화) : 오브젝트 그래프에서 바이트 스트림으로디시리얼라이제이션 : 바이트 스트림에서 오브젝트 그래프로 복구 왜 직렬화가 중요한가프로그램의 상태를 저장하고 필요할 때 복원할 수 있다 (세이브)객체 정보를 클립보드에 복사해서 다른 프로그램에 전송가능네트워크를 통해 다른 컴퓨터에 복원 ( 멀티플레이)데이터 압축, 암호화를 통해서 데이터를 효율적으로 보관 가능 구현할때 고려할 점 1. 데이터 레이아웃 : 오브젝트가 소유한 데이터를 변환할 것인가? (어떻게 직렬화 될 것인가?)2. 이식성 : 다른 시스템에 전송해도 그대로 사용 가능한가?3. 버전관리 : 새로운..
가비지 컬렉션 시스템- 마크 스윕 방식 루트 오브젝트를 참조하는 객체를 마크하고, 주기적으로 마크를 찾음. 저장소에는 마크된 객체와 마크가 안된 객체들이 존재함 가비지 컬렉터가 마크되지 않는 객체들의 메모리를 회수 이러한 시스템으로 가비지 컬렉션이 작동함. (GCCycle) 기본값 60초. 퍼포먼스를 위해서 병렬처리, 클러스터링과 같은 기능을 탑재. 언리얼에서 C++ 단점 커버를 위한 시스템 C++ 메모리 누수 -> 언리얼 가비지 컬렉션 시스템 댕글러 포인터 -> IsValid()를 써서 확인 가능 와일드 포인터 -> UPROPERTY 쓰면 자동으로 nullptr로 초기화 됨.
https://www.acmicpc.net/problem/2231 #include using namespace std;// 분해합 과정이 복잡할거 같아서 함수로 따로 설정int Sum(int num){ int sum = num; while (num > 0) { // 자릿수 나머지 값 sum += num % 10; // 자릿수 빼기 num /= 10; } return sum;}int main(){ int N; cin >> N; // 없으면 0 출력해야해서 0부터 시작 int result = 0; // 각 자리수의 가장 큰 숫자9에, 가장 큰 자릿수 1,000,000 의 6 을 곱한 값으로 시작값 구하기 int start = N - 54; // 시작값으로부터 입력값 까지 돌면서, 가..
https://www.acmicpc.net/problem/2869 //while (height using namespace std;int main(){ int a, b, v; cin >> a >> b >> v; // 목표하는 높이 int targetheight = v - a; // 하루에 올라가는 높이 int dailyclimb = a - b; // 나머지가 생기면 하루가 더 추가 int days =1 + targetheight / dailyclimb + (targetheight % dailyclimb != 0 ? 1 : 0); cout 생각나는대로 처음에는 푼 방법이 있으나, 시간초과가 뜨게 되어서 다르게 생각하게 되었다. 목표하는 높이와, 하루 올라가는 높이를 구하고, 계산했을때 나머지가 ..
https://www.acmicpc.net/problem/2903 #include #include #include using namespace std;int main(){ int n; cin >> n; // 점의 갯수를 구하는 공식 //(2^n +1)^n int first = pow(2, n); int second = pow(first+1, 2); cout 수학 구현 문제라서 그런지 공식 도출하니까 쉽게 풀었다. 그림으로 생각해서 더 어려웠다. 그냥 점의 갯수 가지고 공식 도출하면 되는 문제