문제 - 숫자 찾기

풀이
class Solution {
public int solution(int num, int k) {
int answer = 1;
String numStr = String.valueOf(num);
for (int i = 0; i < numStr.length(); i++) {
int digit = Character.getNumericValue(numStr.charAt(i));
if (digit == k) {
answer = i + 1;
break;
} else {
answer = -1;
}
}
return answer;
}
}
설명
- int num을 String으로 변환
- String을 char로 변환하여 하나씩 k랑 비교 후 answer에 추가 후 리턴한다.
문제 - n의 배수 고르기

풀이
import java.util.*;
class Solution {
public int[] solution(int n, int[] numlist) {
ArrayList<Integer> answerList = new ArrayList<>();
for (int i = 0; i < numlist.length; i++) {
if (numlist[i] % n == 0) {
answerList.add(numlist[i]);
}
}
int[] answer = new int[answerList.size()];
for (int i = 0; i < answerList.size(); i++) {
answer[i] = answerList.get(i);
}
return answer;
}
}
설명
- n의 배수가 아닌 수들은 가변적이기 때문에 ArrayList 생성
- numlist[i]를 n 으로 나누어 0이라면 배수이기 때문에 answerList에 추가
- int[]로 리턴해야해서 answerList를 int[]에 추가하고 리턴한다.
문제 - 자릿수 더하기

풀이
class Solution {
public int solution(int n) {
int answer = 0;
String str = Integer.toString(n);
String[] arr = str.split("");
for(int i = 0; i < arr.length; i++) {
answer += Integer.parseInt(arr[i]);
}
return answer;
}
}
설명
- n 매개변수를 배열에 담아 주기위해 String으로 전환 후 배열로 담아 split한다.
- split한 숫자를 각각 더해서 answer에 추가하여 리턴한다.
문제 - OX 퀴즈

풀이
import java.util.*;
class Solution {
public String[] solution(String[] quiz) {
String[] answer = new String[quiz.length];
for (int i = 0; i < quiz.length; i++) {
String[] s = quiz[i].split(" ");
System.out.println("s = " + Arrays.toString(s));
if (s[1].equals("+")) {
if (Integer.parseInt(s[0]) + Integer.parseInt(s[2]) == Integer.parseInt(s[4])) {
answer[i] = "O";
} else {
answer[i] = "X";
}
}
if (s[1].equals("-")) {
if (Integer.parseInt(s[0]) - Integer.parseInt(s[2]) == Integer.parseInt(s[4])) {
answer[i] = "O";
} else {
answer[i] = "X";
}
}
}
System.out.println("answer = " + Arrays.toString(answer));
return answer;
}
}
설명
- 배열에 담긴 quiz를 새로운 배열에 split해서 추가한다.
- 인덱스 번호에 따른 조건문으로 1번 인덱스엔 부호가 오기 때문에 +,- 조건으로 나눈다.
- 나눈 조건의 식이 올바르다면 정답을 리턴할 배열에 O를 추가, 아니라면 X를 추가하여 리턴한다.