전투력 비교
문제
총 N개의 좌석이 일렬로 나열되어 있다. 또한 1번부터 N번까지 N명의 전사가 존재하며, 각 전사는 하나의 좌석에 배치해야 한다. 이때, 각 전사는 모두 개별적으로 전투력 정보를 가진다. 그리고 전투력 정보는 서로 동일할 수 있으며, 그 정보는 1부터 20까지의 자연수 형태의 값을 가진다.
이때, N명의 전사를 배치할 때, 인접한 좌석에 대하여 N-1개의 조건을 만족해야 한다. 조건은 1번부터 N-1번까지 존재하며, 그 의미는 다음과 같다.
1번 조건: 1번 좌석과 2번 좌석에 대한 조건 2번 조건: 2번 좌석과 3번 좌석에 대한 조건 … N-1번 조건: N-1번 좌석과 N번 좌석에 대한 조건
이때 각 조건은 1, 2, 3, 4중 하나의 자연수 형태의 값을 가지며, 그 의미는 다음과 같다.
1) 값이 1인 경우: 왼쪽 좌석에 앉은 전사가 오른쪽 좌석에 앉은 전사보다 전투력이 높다. 2) 값이 2인 경우: 왼쪽 좌석에 앉은 전사가 오른쪽 좌석에 앉은 전사보다 전투력이 낮다. 3) 값이 3인 경우: 왼쪽 좌석에 앉은 전사와 오른쪽 좌석에 앉은 전사의 전투력이 같다. 3) 값이 4인 경우: 해당 위치에서는 별도의 조건을 만족하지 않아도 된다.
결과적으로 조건에 부합하도록 전사를 배치하는 경우의 수를 출력하는 프로그램을 작성하여라.
예를 들어 N=5이고, 1번부터 N번까지의 전사에 대한 전투력이 차례대로 7, 10, 7, 5, 3이라고 해보자. 또한 조건이 3, 1, 2, 4라고 해보자. 이때, 다음과 같이 1번, 3번, 5번, 2번, 4번 순서대로 전사를 배치하면 다음과 같이 조건을 만족한다.
그림상에서 각 조건에 대하여 값이 1인 경우는 ">", 값이 2인 경우는 "<", 값이 3인 경우는 "=", 값이 4인 경우는 빈 상자로 표현했다.
> (원본 문서의 배치 그림이 텍스트 추출 과정에서 유실되었다.)
혹은 3번, 1번, 5번, 4번, 2번 순서대로 전사를 배치하여도 다음과 같이 조건을 만족하는 것을 확인할 수 있다.
> (원본 문서의 배치 그림이 텍스트 추출 과정에서 유실되었다.)
결과적으로 현재 예시에서 전사를 배치하는 경우의 수는 총 6가지다.
입출력 예시
예시 1
입력
5, [7, 10, 7, 5, 3], [3, 1, 2, 4]
출력
6
예시 2
입력
3, [4, 5, 6], [1, 2]
출력
2
입력 조건
가장 먼저 전사의 수 N이 자연수로 주어진다. N은 10보다 작거나 같은 자연수이다.
이어서 1번부터 N번까지 N명의 전사에 대한 전투력 정보가 담긴 배열 arr가 주어진다. 이때 각 전투력 정보는 1부터 20까지의 자연수 형태의 값을 가진다.
이어서 1번부터 N-1번까지의 조건이 담긴 배열 conditions가 주어진다. 이때 각 조건은 1, 2, 3, 4중 하나의 자연수 형태의 값을 가진다.
출력 조건
조건에 부합하도록 전사를 배치하는 경우의 수를 자연수 형태로 반환하여라.
요구사항
- solution(N, arr, conditions) 함수를 만들고 답을 반환해야 합니다
- 쓸 수 있는 말은 파이썬, 자바스크립트입니다
- 메모리 제한은 256MB입니다. 브라우저에서는 재지 않고 적기만 합니다
- 시간 제한은 출제자의 정답 코드를 같은 런타임에서 재서 정합니다
- 이 문제는 프롬프트가 아니라 코드를 냅니다. 그 코드는 이 기기의 브라우저에서 돌고, 서버로는 나온 출력의 지문과 걸린 시간만 갑니다. 맞았는지는 서버가 정합니다. 실행 시간은 각자 기기가 적어 보내는 값이라, 코드와 기기 정보를 순위표에 같이 내걸어 둡니다.
- 출력이 글자 하나까지 기대값과 같아야 합니다. 줄 안의 빈칸은 다른 글자와 똑같이 봅니다.
- 케이스는 18개이고, 그 가운데 5개는 입력과 기대 출력을 함께 보여 줍니다. 나머지는 제출할 때만 쓰이고 화면에는 보여 주지 않습니다.
- 케이스 18개를 전부 통과해야 해결입니다.
예시
공개 케이스 5개입니다. 채점에는 숨은 케이스가 함께 쓰입니다. 케이스 18개를 전부 통과해야 해결입니다.
5, [7, 10, 7, 5, 3], [3, 1, 2, 4]
6
3, [4, 5, 6], [1, 2]
2
10, [14, 14, 3, 12, 11, 19, 17, 19, 5, 11], [1, 4, 2, 1, 2, 4, 3, 4, 1]
9352
6, [8, 8, 1, 6, 6, 20], [3, 3, 2, 3, 2]
0
4, [2, 17, 20, 18], [1, 2, 4]
8
참고 사항
풀이에 도움이 되는 배경입니다. 지켜야 하는 규격은 위의 입출력 조건과 요구사항에 있습니다.
원본에서 모의고사 1회 3번입니다.
조건을 설명하는 번호가 원본에 1) 2) 3) 3) 으로 매겨져 있다. 마지막 3) 이 네 번째 조건이다.
풀이
코드는 이 기기에서돕니다. 서버로는 나온 출력의 지문과 걸린 시간만 갑니다. 맞았는지는 서버가 정합니다.
제출은 로그인 하셔야 됩니다. 공개 케이스로 돌려보는 것은 로그인 없이도 됩니다.
공개 케이스 5개로 돌려보기가 됩니다. 제출하면 숨은 케이스까지 돕니다.
이 문제를 푼 사람
아직 없습니다. 첫 번째가 되실 수 있습니다.