본문 바로가기
  • "하나씩 기록하다보면 누군가에게 도움이 되지 않을까"
IT/알고리즘 풀이

[백준] [자바] 14499번 : 주사위 굴리기

by raVineL 2021. 3. 19.
728x90

문제 출처

www.acmicpc.net/problem/14499

 

14499번: 주사위 굴리기

첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도

www.acmicpc.net

 

 


1. 풀이 접근

  ㆍ주사위 모양을 배열로 정의함
     -  0  뒤  0

     -  좌 상 우

     -      앞

     -      하

     ※ (주의) 입력을 받을 때 보통 생각하는 x, y 축이 바뀌어 있음. 

 

  ㆍ주사위 이동

     - 이동하면서 현재 주사위 값을 임시 변수에 저장하고 이동할 때마다 바뀌는 값들을 매칭해서 넣어줌

     - if (이동하려고 하는 곳이 벽이면)

      * 이동 안함, 결과값 출력도 안함

 

  ㆍ상태 확인

     - if (이동한 곳에 숫자가 0보다 크면)

      * 주사위가 맞닿아 있는 면 (하)에 숫자 복사, 이동한 곳의 숫자는 0으로 변경

     - else if(이동한 곳의 숫자가 0이면)

      * 주사위에 있는 숫자를 이동한 곳에 복사

 

  ㆍ현재 주사위의 상단값 출력 ( 나의 주사위에선 '상'위치에 들어있는 값)


2. 소스코드

 

github.com/Choi-JinYeong/Solve_Alg/tree/master/Solve_Algs/src/Git_BJ_14503

 

Choi-JinYeong/Solve_Alg

알고리즘 풀이. Contribute to Choi-JinYeong/Solve_Alg development by creating an account on GitHub.

github.com


3. 맺음말

  체감난이도 : 약간 쉬움

  접근 방법에 대해 특별한 알고리즘이 필요하지 않아 어렵지 않지만, 문제의 순서와 로직을 정확하게 판단하고 그것을 구현하여야 함.

 

  더욱 좋은 풀이방법이나 보완할 수 있는 부분, 또는 문제가 될 수 있는 부분들은 알려주시면 감사하겠습니다.

728x90

댓글