class Solution {
public String shiftingLetters(String s, int[] shifts) {
String result="";
long[]sumshifts=new long[shifts.length];
long sum=0;
for(int j=shifts.length-1;j>=0;j--){
sum+=shifts[j];
sumshifts[j]=sum;
}
StringBuilder sb=new StringBuilder();
for(int i=0;i<s.length();i++){
long index=s.charAt(i)-'a';
sb.append((char)((index+sumshifts[i])%26+'a'));
}
return sb.toString();
}
}
코테 문제
Shift[i]<10^9
->int는
-2147483648 ~ 2147483647
long은
-9223372036854775808 ~ 9223372036854775807
이므로 sum을 했을때는 2147483647보다 커질 수도 잇으므로long으로만 나타낼 수 있다.!!