일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 로봇 시뮬레이션
- 백준 16234
- 백준 17779
- BOJ 17142
- dfs
- 브루트포스
- C++
- 로봇 시뮬레이션
- 백준2174
- 구현
- 백준 게리맨더링 2
- 시뮬레이션
- 헷갈리는 용어
- 백준 3190
- boj 3190
- C
- 알고리즘
- BOJ
- Bruteforce
- 연구소3
- 백준 연구소3
- 백준 뱀
- boj 16234
- boj 15685
- 삼성문제
- simulation
- 삼성 문제
- 백준 인구 이동
- boj 연구소3
- 완전탐색
- Today
- Total
목록전체 글 (17)
나의 공부장
Fork와 Clone의 개념이 비슷한 것 같기도 하고, 애매모호해서 한 번 정리로 끝내려고 한다. 정확한 개념을 몰라 검색을 하는 도중 pasudo123.tistory.com/287 20190106 Git Fork & Git Clone 차이 The difference between forking and cloning a Repository Forking (1) 분기하다. (2) 갈라지다. 오리지날 프로젝트에는 어떠한 영향을 끼치지 않고 본인의 원격 저장소로 들고와 쉽게 변경을 할 수 있다. fork.. pasudo123.tistory.com 위의 사이트가 내가 궁금하던 내용을 포함하고 있어서 가져왔다. #Fork (맘에 드는) 프로젝트 A에서 나의 원격 저장소로 들고 와 쉽게 변경하고자 할 때, 사용한다..
문제의 링크 : https://www.acmicpc.net/problem/3190 3190번: 뱀 문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. www.acmicpc.net 문제 풀이 문제 유형 : Simulation 뱀이 늘어나고 줄어드는 것을 deque 자료구조를 이용해서 구현했습니다. 뱀이 꼬리가 줄어들면 deque의 앞에서 삭제하고, 뱀의 머리가 늘어나면 deque의 뒤에 추가하는 방법입니다. 천천히 시뮬레이션을 생각해봅시다. 뱀이 (1, 1) 동쪽에서 시작합니다. 뱀이 한 칸을 먼저 전진한다고 가정하고 사과가 있는지 없는지 판단합니다. i) 거기에 ..
문제 링크 : https://www.acmicpc.net/problem/17779 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름�� www.acmicpc.net 문제 풀이 처음에는 문제가 간단하면서도 복잡하다는 생각이 들어서, 예제를 따라 그리다 보니까 문제가 이해가 됐습니다. (문제 이해가 빠르면 더 시간을 단축할 수도!) 가장 중요한 것은 (x, y, d1, d2)를 정하는 것입니다. 정하고 나서 제5구역을 미리 먼저 만들고, 나머지 1 ~ 4 구역을 문제에서 제시한 범위에 따라 그려줍니다. 다 그려줬다면, 각 구역에 따라 합을 계산해서 ..
위의 세 가지 모두 경우의 수를 다 돌려보는 느낌이 들지만, 정확히 따지자면 다음과 같다고 합니다. 백트래킹 이미 지나쳐온 곳을 다시 돌아가서 다른 가능성을 시도해보는 걸 반복하는 기법입니다. 반드시 DFS만으로 가능한 게 아니고 BFS 등으로도 가능하지만 일반적으로는 DFS와 연관이 깊다고 합니다. 브루트 포스 꼭 '깊이'나 '탐색'의 개념이 아니더라도, 모든 경우의 수를 다 대입해보는 기법입니다. DFS 여러 지점을 한 단계씩 거쳐가면서 탐색하고, 스택의 개념을 이용해서 이전 단계로 돌아가야만 DFS라고 합니다.
문제 링크 : https://www.acmicpc.net/problem/17142 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고 www.acmicpc.net 문제 풀이 문제 설명이 생각보다 길어서 중간에 집중력이 흐려질 수 있습니다. 문제를 읽고 헷갈리는 점은 다음과 같습니다. "활성 바이러스가 비활성 바이러스가 있는 칸으로 가면 비활성 바이러스가 활성화된다." 애매모호하지만 생각해보면 간단하게 아래와 같이 정리가 됩니다. 2****이면, 1초 후에는 2(활성 바이러스)가 옆 칸에 도달하면서 22***이 됩니다. 이를 시간에 따른 맵을 아래와 같..
문제 링크: https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모�� www.acmicpc.net 문제 풀이 문제가 쉬운 거 같았지만, 예제 마지막 테케를 보고 살짝 꼬여있다는 것을 알았습니다. 서로 연합이 되려면 나의 국가와 다른 국가의 차이가 L 이상 R이하가 되어야 서로 연합이 될 수 있습니다. 문제를 잘게 쪼개서 순서를 세우면 다음과 같습니다. 1. 입력을 받습니다. 2. 인구 이동이 가능한지 mark로 표시합니다. (백준 문제에서 단지 번호 붙이기 266..
문제 링크: https://www.acmicpc.net/problem/15685 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커� www.acmicpc.net 문제 풀이 간단하게 정리해보면, 1. 입력을 받는다. 2. 입력받은 (x, y, d, g)에 맞는 드래곤 커브를 만든다. 3. 모든 드래곤 커브를 만든 후, 답을 구한다. 1번은 쉽고, 2번이랑 3번은 고민을 해봐야 합니다. 입력을 받은 (x, y, d, g)를 어떻게 하면 드래곤 커브를 그릴 수 있을까?를 고민해보면 다음과 같습니다. 만약에 g가 0으로 ..
문제 링크: https://www.acmicpc.net/problem/2174 2174번: 로봇 시뮬레이션 문제 가로 A(1≤A≤100), 세로 B(1≤B≤100) 크기의 땅이 있다. 이 땅 위에 로봇들이 N(1≤N≤100)개 있다. 로봇들의 초기 위치는 x좌표와 y좌표로 나타난다. 위의 그림에서 보듯 x좌표는 왼쪽부터, y좌표 www.acmicpc.net 문제 풀이 기존에 풀던 (x, y) 좌표와는 살짝 달라서 헷갈릴 수 있지만, 문제의 설명대로 따라서 구현하면 됩니다. x좌표는 왼쪽에서 오른쪽으로 가면 증가하고 y좌표는 아래에서 위로 올라가면 증가합니다. 로봇의 상태를 구조체로 만들어서 벡터로 보관해서, 그 이후에 명령을 하나씩 실행하면서 그에 따른 구현을 해주면 됩니다. 따로 visited라는 2차..