
생각해야 할것
자바 배열은 한번 선언하면 수정이 불가능 하지만 ArrayList<Integer 을 이용하면 가능하다.
element들이 있고 divisor이 있으므로 각각요소를 divisor로 나누어서 떨어진다면 answer에 넣어주고
아니면 넘어간다. 만약 answer이 비어 있다면 -1을 반환하면 된다.
예를 들어 ,arr[7,8,14,30] / divisor = 7이라면 7과 14가 7로 나누어 떨어지므로 ,[7,10]을 리턴해주면된다
import java.util.*;
class Solution {
public int[] solution(int[] arr, int divisor) {
int[] answer = {};
ArrayList<Integer> a1 = new ArrayList<Integer>();
// 원래 자바에서 배열을 한번선언하면 수정이 불가능하지만 ArrayList를 이용하면 가능하다.
// ArrayList인 a1을 Integer타입으로 선언
for(int i=0; i<arr.length; i++) {
if(arr[i]%divisor==0)
a1.add(arr[i]);
}
//for문을 사용하여 arr배열에 있는 원소를 divisor로 나누었을때 나머지가0인 원소만 add를 사용하여 a1에 추가
if(a1.isEmpty()) {
a1.add(-1);
}
// 만약 나누어 떨어지는 값이없어 a1값이 비어있다면 -1을 리턴한다.
// a1이 비어있다는 말은 arr배열에 있는 모든 원소가 divisor로 나누었을 때 나머지가0이 아닐경우를 뜻함
answer = new int[a1.size()];
// answer의 크기를 a1의 사이즈만큼으로 설정
for(int i=0; i<a1.size(); i++) {
answer[i] = a1.get(i);
}
// for문을 사용하여 a1에 있는 원소를 get으로 꺼내서 answer에 저장
Arrays.sort(answer);
// answer을 Arrays.sort를 이용해 오름차순 정렬
return answer;
}
}
풀이
a1을 ArrayList<Integer 로 해주어서 배열이 수정가능하게 해주고
arr의 길이만큼 반복실행한후에 arr의 인덱스 값들이 divisor로 나누었을때 나머지가 0인 원소만 add를 사용하여 a1의 배열에arr의 인덱스값을 추가해준다
만약 나누어 떨어지는 값이없어 a1값이 비어있다면 -1을 리턴한다.(a1이 비어있다는 말은 arr배열에 있는 모든 원소가 divisor로 나누었을 때 나머지가0이 아닐경우를 뜻함)
answer의 크기를 a1의 사이즈만큼으로 설정
for문을 사용하여 a1에 있는 원소를 get으로 꺼내서 answer에 저장
answer을 Arrays.sort를 이용해 오름차순으로 정렬해준다

class Solution {
public int solution(int[] a, int[] b) {
int answer =0;
for (int i=0; i<a.length; i++) {
answer += a[i] * b[i];
}
return answer;
}
}

class Solution {
boolean solution(String s) {
boolean answer = true;
s = s.toLowerCase();
int count =0;
for (int i=0; i <s.length(); i++) {
if (s.charAt(i) == 'p'){
count++;
} else if (s.charAt(i) == 'y') {
count--;
}
}
return count==0? true :false;
}
}

class Solution {
public boolean solution(String s) {
if (s.length ==4 || s.length ==6) {
for(int i =0; i<s.length(); i++){
char ch = s.charAt(i);
if (ch <'0' || ch>'9') // 아스키코드
return false;
}
return true;
} else
return false;
}
}

class Solution {
public String solution(String[] seoul) {
String answer = "";
int place =0;
for (int i=0; i<seoul.length(); i++) {
if (seoul[i].contains("KIM"))
// .contain("")는 문자열에서 특정문자를 찾는데 사용함
place += i;
}
answer = "김서방은 " + place + "에 있다" ;
// 김서방은다음에 1(place)값이 들어가야하기 때문에 띄어쓰기를 해주어야함
return answer;
}
}
-풀이
먼저 결과값을 담을 answer 와 x의값을 담을 변수를 선언해주어서 서울의길이만큼 반복문으로 돌려서 만약 반복문안에있는 KIM을 찾으면 반복실행된 수(i)를 x에 넣어주어서 김서방의 위치(김의 인덱스위치값)를 알게해준다

class Solution {
public String solution(int n) {
String answer = "";
for (int i =0; i<n; i++) {
answer+= (i % 2==0)? "수" : "박";
}
return answer;
}
}

import java.util.Arrays;
class Solution {
public String solution(String[] participant, String[] completion) {
}
}