• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

저는 이렇게 풀었는데요 ! 왜 앞에 null이 붙는지 모르겠습니다 ㅠㅠ

21.10.03 15:17 작성 조회수 324

0

아 그리고 이렇게 풀면 효율성이 많이 떨어지는지도 궁금합니다 !

 

package algorithm;

import java.util.*;

public class Main {
public String[] solution(int n, String[] arr) {
String[] answer = new String[n];
for (int i = 0; i < n; i++) {
for (int k = arr[i].length() - 1; k >= 0; k--) {
answer[i] += arr[i].charAt(k);
}
}
return answer;
}

public static void main(String[] args) {
Main T = new Main();
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String[] arr = new String[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.next();
}
// T.solution(n, arr);
for (String s : T.solution(n, arr)) {
System.out.println(s);
}



}
}

답변 2

·

답변을 작성해보세요.

0

australialove19님의 프로필

australialove19

질문자

21.10.05 00:29

와... String 배열을 만들었을 때 기본적으로 null값으로 초기화 되는건 알았지만..제가 += 을 사용했을 때 바로 null값이 사라지고 들어가는줄 착각하고 있었네요..! 고맙습니다 !

0

김태원님의 프로필

김태원

지식공유자

21.10.04 23:17

안녕하세요^^

String 배열을 만들면 기본적으로 null값으로 초기화되기 때문입니다.

아래와 같이 바꾸세요.

public String[] solution(int n, String[] arr) {
        String[] answer = new String[n];
        for (int i = 0; i < n; i++) {
			answer[i]="";
			for (int k = arr[i].length() - 1; k >= 0; k--) {
                answer[i] += arr[i].charAt(k);
            }
        }
        return answer;
    }