-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
답이 맞는데 계속 오답으로 나와요...
22.04.27 22:33 작성 조회수 150
0
어디가 잘못된 건지 한 번 봐주실 수 있으신가요?
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String next = sc.next();
char c = sc.next().charAt(0);
for(int x : solution(next, c)){
System.out.print(x + " ");
}
}
public static int[] solution(String s, char c){
int[] answer = new int[s.length()];
//오른쪽으로 돌 거
int [] right = new int[s.length()];
//왼쪽으로 돌 거
int[] left = new int[s.length()];
int count = 0;
for(int i =0; i<s.length(); i++){
if(s.charAt(i) != c){
count++;
}else{
count = 0;
}
answer[i] = count;
}
count = 0;
for(int i = s.length()-1; i >=0; i--){
if(s.charAt(i) != c){
count++;
}else{
count = 0;
}
if(count < answer[i]){
answer[i] = count;
}
}
return answer;
}
답변을 작성해보세요.
2
나르비
2022.05.24
제일 처음과 중간에 count 를 0으로 설정한 부분이 문제가 된 걸로 보입니다.
강사님께서 설명해주신 것처럼 count 값을 100보다 큰 값으로 설정할 경우,
정상적으로 답을 도출할 수 있습니다.
0
나르비
2022.05.24
입력 : fkdgkjdflkgjljslgjkfldjlkfdg f
오답 : 0 1 2 3 3 2 1 0 1 2 3 4 5 6 5 4 3 2 1 0 1 2 3 2 1 0 1 1
정답 : 0 1 2 3 3 2 1 0 1 2 3 4 5 6 5 4 3 2 1 0 1 2 3 2 1 0 1 2
입력 : eochjgoekghlakegh h
오답 : 1 2 1 0 1 2 3 3 2 1 0 1 2 3 2 1 0
정답 : 3 2 1 0 1 2 3 3 2 1 0 1 2 3 2 1 0
답변 2