생각로봇 청소기가 있다. 이 로봇 청소기는 아래와 같은 연산으로 청소를 진행한다. 청소를 하지 않은 지역은 '0' 벽은 '1'로 표신된다. 1. 현재 위치를 청소한다. 2. 현재 위치에서 현재 방향을 기준으로 왼쪽방향부터 차례대로 탐색을 진행한다. 1) 왼쪽 방향에 아직 청소하지 않은 공간이 존재한다면, 그 방향으로 회전한 다음 한 칸을 전진하고 1번부터 진행한다. 2) 왼쪽 방향에 청소할 공간이 없다면, 그 방향으로 회전하고 2번으로 돌아간다. 3) 네 방향 모두 청소가 이미 되어있거나 벽인 경우에는, 바라보는 방향을 유지한 채로 한 칸 후진을 하고 2번으로 돌아간다. 4) 네 방향 모두 청소가 이미 되어있거나 벽이면서, 뒤쪽 방향이 벽이라 후진도 할 수 없는 경우에는 작동을 멈춘다. 이 때 로봇 청소..
생각상원이의 생일 파티가 열린다! 상원의 친구와 그 친구의 친구까지 초대할 수 있다. 초대장이 총 몇 장 필요한지 출력하시오 처음 생각친구들을 모두 초대할 수 있는 지 알아 연관된 친구들을 다 초대하기위해 DFS로 탐색을 진행하여 구현하였다. 다음 생각DFS로 탐색을 하니 안되는 케이스가 있어서 살펴보니, 친구의 친구 까지만 초대장을 줄 수 있었고 다음과 같은 반례도 있었다. 1 2 1 3 2 3 3 4위와 같은 Case의 경우에 DFS로 탐색시 1 - 2 - 3 으로 끝나는 반면 BFS로 탐색시에는 1 - 2 - 3 - 4 로 탐색이 되어진다. 다다음 생각따라서 BFS로 구현을 하고 카운트 변수 cnt를 +1시키면서 진행하여 처음 값을 1로 주었으므로 1-2-3 까지 들어온 자료들은 초대장을 주어야하므..
생각4개의 톱니바퀴가 있다. 그 중 한 개를 돌린다고 할 때 양 쪽에 있는 톱니바퀴들은 해당 톱니가 같은 톱니로 짝이 이루어져있으면 돌지 않고 다른 톱니로 짝이 이루어져있으면 돌게된다. 처음 톱니바퀴의 상태를 주고, K개의 회전 케이스를 주고 모든 회전을 마쳤을 때 각 톱니바퀴의 12시 방향의 숫자 합을 번호 순서대로 1,2,4,8을 곱한 값을 출력하여라. 비고 사항삼성 SW 테스트 기출이라고 한다. 처음 생각우선 톱니바퀴의 상태가 10101111 이런 형태로 주어져 있고, 톱니바퀴는 4개로 제한되어 있으므로 [4][8] 형태의 이차 배열로 입력을 받았다. 다음 생각톱니바퀴의 회전 케이스가 K개 만큼 들어온다. 전부 동시에 회전하는것이 아닌 각각의 회전 케이스이므로 solve() 메소드를 각각 실행시키도..
- Total
- Today
- Yesterday