문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
[0, n] 범위의 모든 정수 중에서 n + 1개의 정수로 이루어진 순열 perm은 다음과 같은 길이 n의 문자열 s로 표현될 수 있다.
문자열 s가 주어졌을 때, 순열 perm을 재구성해서 반환해라. 유효한 순열 perm이 여러 개 있는 경우, 그 중 하나를 반환해라.
#1
Input: s = "IDID"
Output: [0, 4, 1, 3, 2]
#2
Input: s = "III"
Output: [0, 1, 2, 3]
#3
Input: s = "DDI"
Output: [3, 2, 0, 1]
class Solution {
public int[] diStringMatch(String s) {
int n = s.length();
int[] result = new int[n + 1];
int low = 0;
int high = n;
for(int i = 0; i < n; i++){
if(s.charAt(i) == 'I'){
result[i] = low++;
}else{
result[i] = high--;
}
}
result[n] = low;
return result;
}
}