본문 바로가기

전체 글

(228)
백준 - 1541 잃어버린 괄호 #include #include #include #include using namespace std;int main(void){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); string str; cin >> str; bool minus = false; bool firstm = true; int answer = 0; string num; for (int i = 0; i
24 - 09 - 02 (IsValid()와 nullptr, GetName()) IsValid()와 nullptr 의 차이nullptr 은 메모리의 특정 주소가 0 인지 확인한다 IsValid() 는 특정 메모리 주소가 유효한지 확인한다.이것은 IsValid 는 메모리의 특정 주소에 쓰레기 값이 들어있는지까지 확인한다는 것이다. 따라서 본인 혼자서 혹은 한 번만 사용되는 포인터는 nullptr 여러 곳에서 해당 포인터를 참조 한다면 IsValid() 를 이용하여 댕글링 포인터나 쓰레기 값까지 체킹하도록 해준다. GetName 을 이용하고 contains 로 특정 클래스 확인이 가능하다IsA 를 이용해서도 특정 클래스 확인이 가능하다.Cast 를 통해서도 클래스 확인 가능하다.
08- 30 FName, FString, FText 그 외 FName가볍기 때문에 검색할 때 사용을 많이 한다. FTextUI 표현을 할 때 사용. 현지화 할 때 쉽기 때문에 사용한다. 위젯 등도 FText 으로 바꾸어 보여진다.  FString함수등의 기능이 많이 있어서 로직 짤 때 유용하다는 장점이 있다. 매크로실행핀을 여러개 둘 수 있어서 흐름제어에서 많이 사용한다. 함수누가 사용하는지 안다. ( 지역 함수 )    누구든 사용가능하다 ( 전역 함수 )
백준 - 11729 하노이의 탑 재귀 너무 어렵다.. Dp 함수 자체를 이해하는 과정과 n==1 일 때 이해가 어려웠다. n == 1 일 때는 마지막 하나남은 가장 작은 원판이 to 로 도착함을 의미한다.  #include #include #include #include using namespace std;int answer = 1;void Dp(int n , int from, int by, int to){ if (n == 1) { cout > n; int from = 1; int by = 2; int target = 3; for (int i = 1; i
백준 - 14502 연구소 1. 브루트포스를 이용한 벽 세우기2. 그냥  bfs  벽 세우기가 너무 어려웠다. 0 인 위치점을 전부 push_back 으로 기억한다. 이게 많이 중요했다.0 의 위치점들을 전부 알고 있으니 3개의 벽에 차례대로 벽의 위치를 알려주면 "인덱스가 넘어갔을 때" 같은 생각 따윈 안해도 된다.#include #include #include #include using namespace std;vector> v2;vector> visited(100, vector (100, false));int dx[4] = { 0,0,-1,1 };int dy[4] = { -1,1,0,0 };struct Pos{ Pos() = default; Pos(int a, int b) : y(a), x(b) { } int x; int y..
백준 - 7576 토마토 날짜 계산식을 따로 만들어야하는구나 생각했다.근데 아니었다. 걍 거리 계산하는거랑 똑같은거였다. 내가 생각이 많았다.  #include #include #include #include using namespace std;int dx[4] = { 0,0,-1,1 };int dy[4] = { -1,1,0,0 };struct Pos{ Pos() = default; Pos(int a, int b) : y(a), x(b) { } int x; int y; bool operator!= (const Pos& other)const { if (x == other.x) { if (y == other.y) { return false; } } return true; } bool operator== (co..
백준 - 1926 그림 #include #include #include #include using namespace std;int dx[4] = { 0,0,-1,1 };int dy[4] = { -1,1,0,0 };struct Pos{ Pos() = default; Pos(int a, int b) : x(a), y(b) { } int x; int y; bool operator!= (const Pos& other)const { if (x == other.x) { if (y == other.y) { return false; } } return true; } bool operator== (const Pos& other)const { return !(*this != other); } bool operator> ..
백준 : 5014 스타트링크 1. 출발지와 목적지가 같은 경우  #include #include #include #include using namespace std;int main(void){ int F, S, G, U, D; cin >> F >> S >> G >> U >> D; int answer = 0; vector vec(F + 1); vector parent(F + 1, -1); parent[S] = S; int arr[2] = { U,-D }; queue q; q.push(S); vector visited(F + 1, false); visited[S] = true; while (!q.empty()) { int pos = q.front(); q.pop(); for (int i = 0; i = F + 1) { ..