문제 - 편지

풀이
class Solution {
public int solution(String message) {
int MessageCount = message.length();
return MessageCount * 2;
}
}
문제 - 가장 큰 수 찾기

풀이
import java.util.*;
class Solution {
public int[] solution(int[] array) {
int maxValue = Integer.MIN_VALUE;
int maxIndex = -1;
for (int i = 0; i < array.length; i++) {
if (array[i] > maxValue) {
maxValue = array[i];
maxIndex = i;
}
}
int[] result = {maxValue, maxIndex};
return result;
}
}
다른 풀이
public int[] solution2_1 (int[] array) {
int[] answer = new int[2];
for(int i=0;i<array.length;i++) {
if(array[i] > answer[0]) {
answer[0] = array[i];
answer[1] = i;
}
}
return answer;
}
설명
- 리턴하는 값은 2개 고정이기 때문에 배열을 생성한다.
- 배열의 첫번째 값은 배열의 값을 두번째 값은 인덱스 번호인 i 값을 넣는다.
문제 - 문자열 계산하기

풀이
class Solution {
public int solution(String my_string) {
String[] split = my_string.split(" ");
int result = Integer.parseInt(split[0]);
for (int i = 1; i < split.length; i += 2) {
String operator = split[i];
int nextNumber = Integer.parseInt(split[i + 1]);
if (operator.equals("+")) {
result += nextNumber;
} else {
result -= nextNumber;
}
}
System.out.println("result = " + result);
return result;
}
}
설명
- result 변수에는 배열 split의 첫 번째 요소를 정수로 변환한 값이 저장한다. 이 값은 수식의 첫 번째 숫자에 해당한다.
- 루프는 1부터 시작하여 배열 split의 길이까지 2씩 증가하면서 실행, 인덱스가 홀수인 요소는 연산자고, 다음 요소는 해당 연산자의 오른쪽에 있는 숫자다.
- 연산에 따라 result에 결과값을 저장 후 리턴한다.
문제 - 배열의 유사도

풀이
import java.util.*;
class Solution {
public int solution(String[] s1, String[] s2) {
List<String> word = new ArrayList<>();
for (String str1 : s1) {
for (String str2 : s2) {
if (str1.equals(str2)) {
word.add(str1);
}
}
}
System.out.println("word = " + word);
return word.size();
}
}
설명
- 동일한 문자를 담아줄 ArrayList 생성
- s1은 str1, s2는 str2을 대입하고 str1,str2를 비교해서 동일한 값이면 word에 저장
- 원소의 갯수를 리턴해야하니까 word.size()를 리턴