분류 전체보기(76)
-
[구현&시뮬레이션] 백준 20055 컨베이어 벨트 위의 로봇
www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 수행 시간 : 2시간 50분 난이도 실버 1의 문제였고, 동시에 삼성 SW역량 기출 문제였다. 보통 문제를 구상하는 알고리즘을 짜는데 시간을 1시간 소비한다면, 이 문제는 문제를 이해하는데 1시간 가까이 걸렸다. 결국 문제를 이해하는 것을 포기하고, 단계별로 알고리즘을 구상하여 코딩을 하였는데, 구상하면서 이해하게 된 문제였다. 문제를 풀면서 2가지 오류가 났었는데, 첫번째로는 컨베이어 벨..
2021.03.01 -
[완전탐색] 백준 3085번 사탕 게임
www.acmicpc.net/problem/3085 3085번: 사탕 게임 첫째 줄에 상근이가 먹을 수 있는 사탕의 최대 개수를 출력한다. www.acmicpc.net 수행시간 : 30분 + 30분(예외케이스 테스트시간) BFS로 접근했다가, 세로는 세로로만 연속되고, 가로는 가로로만 연속되는 걸 count 해줘야 되기때문에 그냥 브루트포스로 풀었다. 역시 브루트포스는 처음 알고리즘 구상부분이 가장 힘든거 같다.. #include #include using namespace std; int n; char map[51][51]; int maxCnt = 0; void column(char arr[51][51], int s) { //세로 for (int i = 0; i < s; i++) { int cnt = ..
2021.02.22 -
[DFS] 백준 1325 효율적인 해킹
www.acmicpc.net/problem/1325 > n >> m; int a, b; for (int i = 0;i > a >> b; map[b].push_back(a); } for (int i = 1; i
2021.02.18 -
[구현] 백준 14891 톱니바퀴
www.acmicpc.net/problem/14891 수행기간 : 3시간 이 문제는 사실 풀었어도 올리지 않으려고 했다... 빡구현으로 푼 첫문제였고, 그 만큼 쓸때없는 코드들도 많고 그냥 노다가 한 느낌이 났기 때문에 ㅜㅜ 그래도 내가 원래 알고리즘을 잘 푸는 편도 아니였고, 차차 나아지면 되니까 나~~중에 실력이 늘었을 때, 그 때 지금의 코드를 보면 어떨까 싶어 올린다. #include #include #include #include using namespace std; int a[8], b[8], c[8], d[8], k; int num, dir; void right_rotate(int arr[], int first, int end) { //시계 방향 int last = arr[end]; for ..
2021.02.17 -
알고리즘 중간점검 (feat. solved.ac)
골드가 되는 그날까지...
2021.02.17 -
[C++] vector/queue 새롭게 알게된 내용 정리
오늘은 저번에 풀었던 백준 16234번 인구이동문제에서 알게된 벡터와 큐의 성질을 한번 정리해 보려고한다. q.front().first 이렇게 .first / .second를 통해 첫번째 원소 두번째 원소로 접근이 가능하다. 그런데 만약 내가 일반 int형 queue가 아닌 내가 정의한 구조체형의 queue를 만들었다면, .first가 아닌 구조체의 변수로 접근이 가능하다. 예를들어 //구조체 선언 struct mj{ int x,y; } //벡터 선언 vector A; //큐 선언 queue q; //큐 pop int nx = q.first().x int ny = q.first().y 이런 식으로 사용이 가능하다. 일단 벡터를 잘 사용해보지 않은 사용자로써 하나하나 알아가는게 많은 도움이 된다. 이것과 ..
2021.02.15