Algorithm101 SW 역량 테스트 기출 문제(로봇 청소기) [로봇 청소기 _ 14503] * 조건 로봇의 현재 위치와 로봇 기준에서 나아가는 방향(북,동,남,서)을 입력받는다. 현재 위치에서 청소가 가능하면 청소를 한다 이후 방향을 탐색하고 4곳 모두 청소할 곳이 없다면 후진을 하고, 후진을 할 때 벽에 부딪히면 종료 한 번 청소한 방을 다시 청소하면 안된다 (후진 시 이동은 가능) * 알고리즘 - 주어진 명령에 맞게 작업을 진행: 시뮬레이션 * 로직(Logic) - 우리가 바라보는 맵 기준의 방향과 객체(로봇)이 바라보는 방향의 인덱스 관계를 고려해야 한다 - 로봇 기준에서 북쪽(0)일때 맵에서는 서(3), 남(2), 동(1), 북(0) 식으로 회전을 하게되고, 나머지 방향도 이와같은 고정 규칙이 존재하게 된다. - 현재 위치에서 청소가 가능하면 count++.. 2019. 10. 10. SW 역량 테스트 기출 문제(퇴사, 연구소) [퇴사 _ 14501] * 조건 퇴사 날짜 전까지는 스케줄을 진행할 수 있다 수행한 스케줄이 있으면 일당을 받는다 최대로 얻을 수 있는 이익을 구해야한다 * 알고리즘 - 가능한 모든 경우의 수를 탐색: 브루트포스 * 로직(Logic) - 해당 스케줄을 포함하는 경우와 포함하지 않고 다음날의 스케줄을 고려하는 경우를 재귀로 반복 -> 전체 경우 탐색 - 다음 일정이 퇴사일을 넘어가게 되면 -> 이전까지 누적된 이익으로 비교 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Problem_14501 { stat.. 2019. 10. 10. SW 역량 테스트 기출 문제(주사위 굴리기, 테트로미노) [주사위 굴리기 _ 14499] * 조건 동서남북(1,2,3,4) 주어진 주사위 전개도를 기준으로 굴리는 상황 고려 맨 처음 주사위의 각 면에는 0으로 초기화 이동한 칸에 0이 아닌 수가 존재 -> 주사위 밑면 = 해당 좌표 값 && 해당 좌표 값 = 0 0이라면 -> 해당 값 = 주사위 밑면 주사위가 굴러가야 count++ 범위를 벗어나면 굴리면 안됨 * 알고리즘 - 명령에 맞게끔 작업이 진행: 시뮬레이션 * 로직(Logic) - 기존에 주어진 주사위 각 면에 할당된 번호를 주사위 배열(Dice)의 인덱스라고 생각한다 - 동서남북 방향으로 각가 굴렸을 때 변경되는 인덱스를 미리 배치 - 변경된 각 면의 번호(인덱스)에 존재하는 값을 기존 Dice에 덮어준다 - 이동할 좌표가 범위를 벗어난다면 다시 이전.. 2019. 10. 9. 이전 1 ··· 30 31 32 33 34 다음