목록분류 전체보기 (291)
궤도
문제 풀이 이 문제의 풀이를 쓰는 이유는... 문제를 풀고 다른 사람들의 풀이가 궁금해서 블로그를 봤더니 거의 다 하드코딩(?)을 했더라 내가 짠게 엄청 좋아보이진 않지만 그래도 최대한 효율적으로 쓰려고 노력해서 올려본다. 말로 설명하기가 좀 그래서 코드를 보면서 설명하려는데 그 전에 이걸 봐두면 좋다. 내 코드에선 각 cctv의 범위가 이렇게 세트로 묶여 있다. 무슨 말인지는 코드를 보면 이해될 것이다. 소스코드 #include #include #include using namespace std; typedef pair pp; int N, M, result = 65; vector board; vector cctv; //cctv 위치 pp direction[4] = {{-1, 0}, //상 {0, 1},..
문제 풀이 원래는 그냥 단순 구현이라 이 문제에 대한 풀이를 쓸 생각이 없었는데... 맞고 나서 다른 사람들은 어떻게 했을까 싶어 블로그들을 보니 뭐 덱을 쓰기도 하고 이상한 복잡한 무언갈 하기도 하고 뭔가 나랑 비슷한건 없어보였다. 구현이 워낙 그냥 조건대로 돌아가기만 하면 그만인 문제라 그런걸지도 모르겠다. 아무튼 그래서 나의 풀이를 적어보겠다. 톱니바퀴는 동시에 돌아가니까 회전하게 될 톱니바퀴를 먼저 다 체크하고 한번에 회전해야 한다. 그리고 회전하게 될 톱니바퀴는 연속일 것이다. 회전시킬 톱니바퀴를 기준으로 왼쪽과 오른쪽을 따로 살펴보며 처음으로 돌아가게 될 톱니바퀴와 마지막으로 돌아가게 될 톱니바퀴를 확인한다. 만약 2번 톱니바퀴를 시계방향으로 돌렸는데 1번 톱니바퀴부터 돌아가기 시작한다면 시계..
백엔드 서버를 호스팅하게 됐다. 여기저기 찾아보다가 Heroku를 선택...뭔가 이름이 일본어같다 싶더라니 정말 일본에서 만든거였다 와우 사실 에러가 생기면 굉장히 친절하게 알려주는 편인데 내가 보는 법을 몰라서 좀 헤맸었다. https://nhj12311.tistory.com/276 헤로쿠(heroku) 가입부터 node.js 배포까지 오늘은 헤로쿠 가입부터 node.js 배포까지 진행해보도록 하겠습니다. 간단하게 서비스를 띄울 무료 PaaS 서비스를 찾는다면 무조건 헤로쿠겠죠. 1. PaaS 서비스의 대표주자 헤로쿠(Heroku) 헤로쿠라는 nhj12311.tistory.com 이런 블로그 보고 했었다. 사실 노드 서버 올리기 전에 플라스크 서버를 먼저 올렸었는데 빌드는 성공하는데 앱이 열리지 않는 ..
문제 풀이 비트마스크로도 풀 수 있다는데 난 백트래킹으로 풀었다. 근데 bfs로도 풀 수 있나보다. 먼저 상하좌우에 대해 각 구슬의 새로운 위치를 찾는다. 직전에 갔던 방향으로 또 이동할 필요는 없으니 그 방향은 제외한다. 두 구슬의 위치변화가 없거나 파란구슬이 빠진 경우는 제외한다. 만약 두 구슬의 새로운 위치가 같다면 같은 칸에 구슬이 2개 있을 수는 없으니 원래의 선후관계를 따져 구슬을 이동한다. 이동 횟수가 10을 넘어가거나 현재의 최솟값을 넘어가면 더이상 탐색하지 않는다. 소스코드 #include #include #include #include using namespace std; typedef pair pp; int result = 11; vector board; pp dir[4] = {{-1..
문제 풀이 일단 주어진 도미노의 총 개수는 36개이므로 이 도미노들의 정보와 사용여부를 map으로 관리하기로 했다. 그리고 빈 공간을 발견할 때마다 가로 또는 세로로 배치할 수 있는 도미노를 찾아보는데 1 1 1 상하좌우로 배치할 필요없이 그냥 2개의 방향만 고려하면 된다. 위 또는 왼쪽으로 배치하는건 이전 경우에서 고려됐을 것이기 때문이다. 아무튼 그래도 하나의 위치에 대해 최대 4개의 경우를 고려해야 한다. (가로세로)*(도미노 방향 2) 하나의 도미노에 적힌 숫자는 다르기 때문에 해당 위치에 이 도미노가 들어갈 수 있을지 확인할 때 도미노를 쪼개서 각각 고려해도 문제가 없다. https://myunji.tistory.com/202 [백준] 2580번 : 스도쿠 문제 풀이 입력을 어떻게 처리하여 어떤..
https://myunji.tistory.com/391 [백엔드] 시험지 채점 알고리즘 만들기 (1) 오늘은 이 그림에서 7번을 구현할 것이다. 먼저 시험지를 촬영해서 욜로에 보내면...욜로는 우리가 설정한 클래스의 객체를 찾아낸다. 그리고 제이슨 형태로 결과를 반환하는데 뭐... label : OOO rec myunji.tistory.com 여기에서 이어진다. 저때는 모든 객관식을 찾은 희망편이었고 이제 절망편을 해야한다. 절망편에는 어떻게 되는지 간단하게 보여주자면 이게 이렇게 된다. 객체를 하나 찾아내지 못해 번호가 앞으로 다 땡겨져 올 것이기 때문이다... 우리가 계속 실험을 해봤는데 다행히 아무리 많이 못찾아도 한 문제당 2개 정도가 최대였다. 이제 보정을 해야한다. 번호 배치는 이럴 수도 있고..
오늘은 이 그림에서 7번을 구현할 것이다. 먼저 시험지를 촬영해서 욜로에 보내면...욜로는 우리가 설정한 클래스의 객체를 찾아낸다. 그리고 제이슨 형태로 결과를 반환하는데 뭐... label : OOO recognition word : OOO w : OOO h : OOO x : OOO y : OOO 객체마다 이런식으로 반환한다. 직접 보여주면 좋겠지만 내 담당이 아니라 여기서 보여주기가 좀 그렇다 우리가 찾아야 하는 클래스는 문제번호, 페이지번호, 객관식 체크 정보, 주관식 답안 정보인데 다른건 다 잘 찾는데 객관식 체크 정보를 아직도 몇 개씩 빠뜨린다. 그래서 백엔드에서 보정해줘야 한다. 일단은 객관식을 다 찾았다는 아주 희망적인 가정을 하고 알고리즘을 짜보겠다. 우리의 테스트 셋이다. 앞서 말했지만 ..