
class Solution {
public String solution(String[] seoul) {
String answer = "김서방은 ";
String position ="";
for(int i=0;i<seoul.length;i++){
if(seoul[i].equals("Kim")){
position= i+"";
answer=answer+position+"에 있다";
break;
}
}
return answer;
}
}``````
굳이 string position 변수를 생성할 필요 없이 answer=answer+i+"에 있다"; 만해도 충분함. 초기에 왜인지 오류가 나서 괜히 메모리낭비함.
public class FindKim {
public String findKim(String[] seoul){
//x에 김서방의 위치를 저장하세요.
int x = Arrays.asList(seoul).indexOf("Kim");
return "김서방은 "+ x + "에 있다";
}```

import java.util.ArrayList;
import java.util.Collections;
public ArrayList<Integer> solution(int[] arr, int divisor) {
ArrayList<Integer> answer = new ArrayList<>();
for (int i = 0; i < arr.length; i++) {
if (arr[i] % divisor == 0)
answer.add(arr[i]);
}
if (answer.isEmpty()){
answer.add(-1);}
Collections.sort(answer);
return answer;
}
실행은 되지만 문제에서 요구하는 건 list가 아니라 배열을 반환해야 정답이기 때문에 틀림.
import java.util.Arrays;
class Divisible {
public int[] divisible(int[] array, int divisor) {
return Arrays.stream(array).filter(factor -> factor % divisor == 0).toArray();
}
import java.util.*;
class Solution {
public int[] solution(int[] arr, int divisor) {
int[] answer = {};
List<Integer> list = new ArrayList<>();
for(int i = 0 ; i < arr.length; i++){
if(arr[i] % divisor == 0){
list.add(arr[i]);
}
}
if(list.isEmpty()) list.add(-1);
answer = list.stream().mapToInt(Integer::intValue).toArray();
Arrays.sort(answer);
return answer;
}
}``````
https://baesaa0304.tistory.com/147