본문 바로가기
반응형

[백준]214

[BaekJoon/백준] 2108번 통계학 이 문제는 SW 기출 문제는 아니지만,, 내가 예전에 못 풀었던 문제라 기록하려 한다..! 중요한 점은 1. 산술평균 시, Double로 연산하되 마지막에 int로 캐스팅해서 -0이 안 나오게끔. 2. 최반값 구할 때, 도수분포표 정렬을 이용해서 커스텀 연산자 비교함수를 만들어서 정의 #include #include #include #include using namespace std; int cmp(pair a, pair b) { if(a.first == b.first) return a.second b.first; } int main() { int N, MOST, tmp; vector v; vector dosu; cin >> N; for(int.. 2022. 6. 25.
[BaekJoon/백준] 14503번 로봇 청소기 문제에 제시되어 있는 대로 진행하는데, 헷갈릴 만한 점과 주의할 점이 있다. 문제 정의 1. 우선 로봇청소기는 현재 위치를 청소한다. 2 - 1. 현재 바라보는 방향에서 왼쪽 방향의 한 칸이 아직 청소되지 않았다면, 왼쪽 방향으로 회전한 뒤에 한 칸 이동하고 1로 돌아간다. 2 - 2. 현재 바라보는 방향에서 왼쪽 방향의 한 칸이 벽이거나, 이미 청소되었다면, 왼쪽 방향으로 회전만 한다. 3. 2 - 2가 연속 4번 진행된 경우, 현재 바라보는 방향에서 뒷쪽 방향으로 후진할 수 있다면(벽이 아니다 = 이미 청소되었다) 후진하고, 후진할 수 없다면 종료한다. 주의할 점 A. 청소할 땐(2-1) 방향 전환 후 직진. 네번 돌고 뒤가 벽이 아니면(3) 방향은 그대로인데 후진. B. 연속 네번이라는 점이 중요함.. 2022. 6. 25.
[BaekJoon/백준] 15685번 드래곤 커브 다신 보고 싶지 않지만 또 볼 것만 같은 문제.. 해설을 찾아본 뒤에 풀어봤다. 이해가 어려우신 분들의 이해를 최대한 도와드리겠습니다. 이리저리 뒤집어서 생각하면 정말 어렵습니다. 일단 규칙을 하나로 정의합니다. ➡️⬆️⬅️⬇️ 이런 한 방향(시계 반대방향)으로 네모를 그린다고 생각해보세요. 그러면 오른쪽으로 시작하던 위로 시작하던 결국 똑같은 한 방향으로 그리게 되므로 이 방향 배열을 만들어 놓고, 인덱스를 어디서부터 시작할지로 결정하면 됩니다. mx[4] = { 0, -1, 0, 1 }; my[4] = { 1, 0, -1, 0 }; mx[0], my[0] 부터 시작하면 오른쪽 방향부터 시작해서 네모를 그리게 되고 mx[1], my[1] 부터 시작하면 위쪽 방향부터 시작해서 네모를 그리게 됩니다. ( .. 2022. 6. 25.
[BaekJoon/백준] 14502번 연구소 N, M의 최대 범위는 8이며 제한시간은 2초... 설마 모든 경우를 다 해봐야만 하는 문제일까 길게 고민하다가, 검색을 통해 풀이 방향을 찾아보았는데 역시나 였다.. 브루트 포스 + DFS를 섞어 쓰는 문제였다. 3중 for문을 통해 벽을 세울 위치 세 곳을 완전탐색 한 뒤에 DFS를 통해 계산해 나간다... 다시는 만나지 말자 우리.. #include #include #include using namespace std; int N, M; int ARR[8][8]; int ARRB[8][8]; bool visit[8][8]; int mx[4] = {-1, 1, 0, 0}; int my[4] = {0, 0, -1, 1}; int MAX, tm; void dfs(int x, int y) { int xx, .. 2022. 6. 24.
반응형