오늘 할일
1. 창엔 1일차
2. LeetCode
3. software engineering github project upload
4. 챙 선물
오늘 한일
2. LeetCode
현재 문자열을 지울 때 앞쪽 원소를 우선적으로 지우게끔 했는데, 우선순위를 바꾸어 뒷 쪽 원소를 우선적으로 지우게 변경해보았다.
class Solution {
private StringBuilder result;
private char deleted_mark='-';
private int delete_near_opponent(int index){
if(result.charAt(index)==deleted_mark){
return 1;
}
char current_team=result.charAt(index);
int size=result.length();
for(int i=index+1; i<size; i++){
if(result.charAt(i)!=deleted_mark && result.charAt(i)!=current_team){
result.setCharAt(i, deleted_mark);
return 0;
}
}
for(int i=index-1; i>=0; i--){
if(result.charAt(i)!=deleted_mark && result.charAt(i)!=current_team){
result.setCharAt(i, deleted_mark);
return 0;
}
}
return -1;
}
public String predictPartyVictory(String senate) {
int size=senate.length();
result=new StringBuilder(senate);
while(true){
for(int i=0; i<size; i++){
int val=delete_near_opponent(i);
if(val==-1){
return result.charAt(i)=='R'?"Radiant":"Dire";
}
}
}
}
}
하나의 테스트 케이스 통과만을 앞두고 있다.
"RDRDRDDRDRDRDRDRRDRDRDRDRDRDDDDRRDRDRDRDRDRDRDRRRRRDRDRDRDRDDDDDRDRDRDRDRDRDRDRRDRDRDRDRDRDRRDRDRDRDRDRDRDRDRRDRDRDRDRDRRD" 너무 디버깅이 어려워서 최대한 로직을 보완해보기로 했다.