반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 가운데 글자 가져오기 자바
- docker remove
- 프로그래머스 가운데 글자 가져오기 파이썬
- 나누어 떨어지는 숫자 배열 python
- 코드업 1020 자바
- 가운데 글자 가져오기 파이썬
- 프로그래머스 가운데 글자 가져오기 python
- 가운데 글자 가져오기 java
- 프로그래머스 나누어 떨어지는 숫자 배열 자바
- 코드업 1020 java
- 최소 스패닝 트리
- 청년 AI Big Data 아카데미 13기
- codeup 1020 자바
- 프로그래머스 가운데 글자 가져오기 자바
- 청년 Ai Big Data 아카데미
- 최단 경로 알고리즘
- 트리의 지름 java
- 프로그래머스 나누어 떨어지는 숫자 배열 파이썬
- 빅분기실기
- docker 삭제
- 트리의 지름 자바
- 나누어 떨어지는 숫자 배열 java
- 최소 스패닝 트리 자바
- m1 docker install
- 핸즈온 머신러닝
- m1 docker
- 가운데 글자 가져오기 python
- 빅데이터분석기사
- docker 완전 삭제
- codeup 1020 java
Archives
- Today
- Total
NineTwo meet you
[백준/자바] 17825 주사위 윷놀이 본문
반응형
문제
주사위 윷놀이는 다음과 같은 게임판에서 하는 게임이다.
- 처음에는 시작 칸에 말 4개가 있다.
- 말은 게임판에 그려진 화살표의 방향대로만 이동할 수 있다. 말이 파란색 칸에서 이동을 시작하면 파란색 화살표를 타야 하고, 이동하는 도중이거나 파란색이 아닌 칸에서 이동을 시작하면 빨간색 화살표를 타야 한다. 말이 도착 칸으로 이동하면 주사위에 나온 수와 관계없이 이동을 마친다.
- 게임은 10개의 턴으로 이루어진다. 매 턴마다 1부터 5까지 한 면에 하나씩 적혀있는 5면체 주사위를 굴리고, 도착 칸에 있지 않은 말을 하나 골라 주사위에 나온 수만큼 이동시킨다.
- 말이 이동을 마치는 칸에 다른 말이 있으면 그 말은 고를 수 없다. 단, 이동을 마치는 칸이 도착 칸이면 고를 수 있다.
- 말이 이동을 마칠 때마다 칸에 적혀있는 수가 점수에 추가된다.
주사위에서 나올 수 10개를 미리 알고 있을 때, 얻을 수 있는 점수의 최댓값을 구해보자.
입력
첫째 줄에 주사위에서 나올 수 10개가 순서대로 주어진다.
출력
얻을 수 있는 점수의 최댓값을 출력한다.
예제 입력 1
1 2 3 4 1 2 3 4 1 2
예제 출력 1
190
예제 입력 2
1 1 1 1 1 1 1 1 1 1
예제 출력 2
133
예제 입력 3
5 1 2 3 4 5 5 3 2 4
예제 출력 3
214
예제 입력 4
5 5 5 5 5 5 5 5 5 5
예제 출력 4
130
설명
백트래킹을 이용한 문제다.
다음과 같은 번호를 가지는 배열을 만든다.
static int map[][] = {{0, 2, 4, 6, 8, 10}, {10, 13, 16, 19, 25}, {10, 12, 14, 16, 18, 20}, {20, 22, 24, 25}, {20, 22, 24, 26, 28, 30}, {30, 28, 27, 26, 25}, {30, 32, 34, 36, 38, 40}, {25, 30, 35, 40}, {40, 0}};
잘 보면 짝수 화살표의 경우 파란 칸 즉 해당 배열 인덱스의 끝에 도달하면 짝수 +1의 인덱스로 이동하는 것을 알 수 있다.
예외적으로 6번은 8번 화살표로 이동한다.
홀수 화살표의 경우 모두 7번 화살표로 이동한다.
예외적으로 7번은 8번 화살표로 이동한다.
배열의 인덱스보다 더 많이 간다면,
짝수 화살표의 경우 +2한 짝수 화살표를 따라가는 것을 확인할 수 있다.
홀수 화살표의 경우 7번 화살표로 이동하지만 7번 화살표의 길이가 4인 것을 통해 7번을 넘어 8번 화살표까지 도달할 수 있다는 전제를 해서 문제를 풀어야 한다.
코드
반응형
'프로그래밍 문제 > 백준' 카테고리의 다른 글
[백준/자바] 19236 청소년 상어 (0) | 2021.09.26 |
---|---|
[백준/자바] 17143 낚시왕 (0) | 2021.09.25 |
[백준/자바] 17837 새로운 게임 2 (0) | 2021.09.21 |
[백준/자바] 14890 경사로 (0) | 2021.09.19 |
[백준/자바] 5373 큐빙 (0) | 2021.09.18 |
Comments