본문 바로가기

코딩 테스트

(74)
백준 - 14400 편의점 2 long long 생각하자 맨해튼거리 #include #include #include #include using namespace std;int main(void){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int num; cin >> num; vector vecx(num); vector vecy(num); for (int i = 0; i > vecx[i] >> vecy[i]; } sort(vecx.begin(), vecx.end()); sort(vecy.begin(), vecy.end()); int minx = vecx[(num) / 2]; int miny = vecy[(num) / 2]; long long ans = 0; for (int..
백준 - 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
백준 - 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) { ..
백준 7562 나이트의 이동 1. 나이트 이동한 곳이 도착지가 아닌 이상 더 이상 나이트는 이동한 지점으로 다시 올 일이 없다. 다음 갈 곳들은 이미 q에 저장했다.#include #include #include #include #include using namespace std;int dx[8] = { 2, 2, 1, 1,-1,-1,-2,-2 };int dy[8] = { 1,-1, 2,-2, 2, -2, 1,-1 };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 f..