자물쇠 비밀번호
문제
창고 문에 다이얼 자물쇠가 하나 달려 있다. 이 자물쇠의 비밀번호는 k+1자리이고, 각 자리에는 0부터 9까지의 숫자 가운데 하나가 들어간다. 이때 비밀번호의 각 자리에 들어가는 숫자는 서로 모두 다르다. 그래서 비밀번호의 자릿수는 열 자리를 넘을 수 없다.
자물쇠를 설치한 사람은 비밀번호를 잊지 않으려고 쪽지 하나를 남겨 두었다. 쪽지에는 이웃한 두 자리의 크기 관계를 나타내는 기호가 k개 적혀 있다. 왼쪽에서 i번째 기호는 i번째 자리의 숫자와 i+1번째 자리의 숫자를 견준 결과다. 기호가 <이면 왼쪽 자리의 숫자가 오른쪽 자리의 숫자보다 작고, >이면 왼쪽 자리의 숫자가 오른쪽 자리의 숫자보다 크다.
쪽지의 기호를 모두 만족하는 비밀번호는 여러 개 있을 수 있다. 기호 k개가 주어졌을 때, 조건을 만족하는 비밀번호 가운데 가장 큰 것과 가장 작은 것을 찾는 프로그램을 작성하여라. 비밀번호는 어느 것이나 k+1자리로 자릿수가 같으므로, 왼쪽부터 읽은 수가 더 큰 것이 더 큰 비밀번호다. 또한 첫째 자리에 0이 들어가는 비밀번호도 자물쇠에 그대로 쓸 수 있다.
예를 들어 k=2이고 쪽지에 적힌 기호가 다음의 표와 같다고 해보자.
| 기호 번호 | 1 | 2 |
|---|---|---|
| 기호 | < | > |
이 경우 비밀번호는 세 자리이고, 첫째 자리가 둘째 자리보다 작으며, 둘째 자리가 셋째 자리보다 커야 한다. 조건을 만족하는 비밀번호 가운데 가장 큰 것과 가장 작은 것은 다음과 같다.
| 구분 | 비밀번호 | 첫째 자리 | 둘째 자리 | 셋째 자리 |
|---|---|---|---|---|
| 가장 큰 비밀번호 | 897 | 8 | 9 | 7 |
| 가장 작은 비밀번호 | 021 | 0 | 2 | 1 |
8은 9보다 작고 9는 7보다 크므로 897은 조건을 만족한다. 둘째 자리가 9보다 커질 수는 없고 첫째 자리가 8보다 커지면 둘째 자리와 겹치므로, 897보다 큰 비밀번호는 없다. 또한 0은 2보다 작고 2는 1보다 크므로 021도 조건을 만족한다. 021은 첫째 자리가 0이지만 세 자리 비밀번호로 그대로 쓸 수 있으므로, 앞의 0을 떼지 않고 021 그대로 내놓아야 한다.
입출력 예시
예시 1
입력
2 < >
출력
897 021
예시 2
입력
3 < < <
출력
6789 0123
예시 3
입력
3 > < <
출력
9678 1023
입력 조건
가장 먼저 첫째 줄에 쪽지에 적힌 기호의 개수 k가 주어진다. k는 2 이상 9 이하의 자연수다. 따라서 비밀번호의 자릿수는 k+1자리이며 3 이상 10 이하다.
이어서 둘째 줄에 k개의 기호가 왼쪽부터 차례대로 공백을 두고 주어진다. 각 기호는 < 또는 > 가운데 하나다.
출력 조건
첫째 줄에 조건을 만족하는 가장 큰 비밀번호를 출력하고, 둘째 줄에 가장 작은 비밀번호를 출력한다. 두 비밀번호는 모두 k+1자리이므로, 맨 앞자리가 0이어도 그 0을 떼지 않고 k+1자리를 그대로 출력한다.
요구사항
- 비밀번호의 각 자리에 들어가는 숫자는 서로 모두 다릅니다
- i번째 기호는 i번째 자리와 i+1번째 자리를 견준 결과입니다
- 맨 앞자리가 0인 비밀번호도 조건을 만족하면 답이 됩니다
- 맨 앞자리의 0을 떼지 않고 k+1자리를 그대로 출력합니다
- 표준 입력으로 읽고 표준 출력으로 내보내는 프로그램을 짜야 합니다
- 쓸 수 있는 말은 파이썬, 자바스크립트입니다
- 메모리 제한은 256MB입니다. 브라우저에서는 재지 않고 적기만 합니다
- 시간 제한은 출제자의 정답 코드를 같은 런타임에서 재서 정합니다
- 이 문제는 프롬프트가 아니라 코드를 냅니다. 그 코드는 이 기기의 브라우저에서 돌고, 서버로는 나온 출력의 지문과 걸린 시간만 갑니다. 맞았는지는 서버가 정합니다. 실행 시간은 각자 기기가 적어 보내는 값이라, 코드와 기기 정보를 순위표에 같이 내걸어 둡니다.
- 출력이 글자 하나까지 기대값과 같아야 합니다. 줄 안의 빈칸은 다른 글자와 똑같이 봅니다.
- 케이스는 15개이고, 그 가운데 3개는 입력과 기대 출력을 함께 보여 줍니다. 나머지는 제출할 때만 쓰이고 화면에는 보여 주지 않습니다.
- 케이스 15개를 전부 통과해야 해결입니다.
예시
공개 케이스 3개입니다. 채점에는 숨은 케이스가 함께 쓰입니다. 케이스 15개를 전부 통과해야 해결입니다.
2 < >
897 021
3 > < <
9678 1023
3 < < <
6789 0123
풀이
코드는 이 기기에서돕니다. 서버로는 나온 출력의 지문과 걸린 시간만 갑니다. 맞았는지는 서버가 정합니다.
제출은 로그인 하셔야 됩니다. 공개 케이스로 돌려보는 것은 로그인 없이도 됩니다.
공개 케이스 3개로 돌려보기가 됩니다. 제출하면 숨은 케이스까지 돕니다.
이 문제를 푼 사람
아직 없습니다. 첫 번째가 되실 수 있습니다.