LV0를 어느정도 풀었다고 판단해서 LV1로 넘어갔으며 풀다가 많이 막힌다 싶으면 LV0에서 문법과 기초 구현을 좀 더 연습해봐야겠다.
class Solution {
public String solution(int num) {
String answer = (num % 2 == 0)? "Even" : "Odd";
return answer;
}
}class Solution {
public double solution(int[] arr) {
double answer = 0;
for(int num : arr) answer += (double)num;
return answer / arr.length;
}
}class Solution {
public long[] solution(int x, int n) {
long[] answer = new long[n];
for(int i = 0; i < n; i++){
answer[i] = (long)x + (long)x * i;
}
return answer;
}
}class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 2; i < n; i++){
if(n % i == 1){
answer = i;
break;
}
}
return answer;
}
}class Solution {
public int solution(String s) {
int answer = Integer.parseInt(s);
return answer;
}
}class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 1; i <= n; i++){
if(n % i == 0) answer += i;
}
return answer;
}
};import java.util.*;
class Solution {
public long solution(long n) {
long answer = 0;
String s = n + "";
int[] num = new int[s.length()];
for(int i = 0; i < s.length(); i++){
char c = s.charAt(i);
num[i] = c - '0';
}
Arrays.sort(num);
String ans = "";
for(int i = num.length - 1; i >= 0; i--) ans += (char)(num[i] + '0');
answer = Long.parseLong(ans);
return answer;
}
}
// 개선
import java.util.*;
class Solution {
public long solution(long n) {
char[] chars = String.valueOf(n).toCharArray();
Arrays.sort(chars);
StringBuilder sb = new StringBuilder()
for (int i = chars.length - 1; i >= 0; i--) {
sb.append(chars[i]);
}
return Long.parseLong(sb.toString());
}
}class Solution {
public boolean solution(int x) {
int X = x;
int sum = 0;
while(X > 0){
sum += X % 10;
X /= 10;
}
return x % sum == 0;
}
}class Solution {
public long solution(long n) {
long answer = -1;
double sqrt = Math.sqrt(n);
if(sqrt % 1 == 0) answer = ((long)sqrt + 1) * ((long)sqrt + 1);
return answer;
}
}class Solution {
public int[] solution(long n) {
int length = Long.toString(n).length();
int[] answer = new int[length];
int idx = 0;
while(n > 0){
answer[idx++] = (int)(n % 10);
n /= 10;
}
return answer;
}
}import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
while(n > 0){
answer += n % 10;
n /= 10;
}
return answer;
}
}class Solution {
public long solution(int a, int b) {
if(a == b) return a;
long answer = 0;
if(a < b)
for(int i = a; i <= b; i++) answer += i;
else
for(int i = b; i <= a; i++) answer += i;
return answer;
}
}
// 등차수열 합
class Solution {
public long solution(int a, int b) {
long min = Math.min(a, b);
long max = Math.max(a, b);
return (max - min + 1) * (min + max) / 2;
}
}class Solution {
boolean solution(String s) {
int p = 0, y = 0;
for(char c : s.toCharArray()){
if(c == 'p' || c == 'P') p += 1;
else if(c == 'y' || c == 'Y') y += 1;
}
return p == y;
}
}class Solution {
public int solution(int[] absolutes, boolean[] signs) {
int answer = 0;
for(int i = 0; i < absolutes.length; i++){
if(signs[i]) answer += absolutes[i];
else answer -= absolutes[i];
}
return answer;
}
}class Solution {
public int solution(int[] numbers) {
int answer = 0;
boolean[] check = new boolean[10];
for(int num : numbers) check[num] = true;
for(int i = 1; i <= 9; i++){
answer += (!check[i])? i : 0;
}
return answer;
}
}
class Solution {
public int solution(int[] numbers) {
int answer = 45;
for (int num : numbers) {
answer -= num;
}
return answer;
}
}import java.util.*;
class Solution {
public int[] solution(int[] arr, int divisor) {
int cnt = 0;
for(int i = 0; i < arr.length; i++)
if(arr[i] % divisor == 0) cnt++;
if(cnt == 0) return new int[]{-1};
int[] answer = new int[cnt];
int idx = 0;
for(int num : arr)
if(num % divisor == 0) answer[idx++] = num;
Arrays.sort(answer);
return answer;
}
}
// ArrayList 활용
import java.util.*;
class Solution {
public int[] solution(int[] arr, int divisor) {
ArrayList<Integer> list = new ArrayList<>();
for(int num : arr) {
if(num % divisor == 0) {
list.add(num);
}
}
if(list.isEmpty()) {
return new int[] {-1};
}
Collections.sort(list);
int[] answer = new int[list.size()];
for(int i = 0; i < list.size(); i++) {
answer[i] = list.get(i);
}
return answer;
}
}import java.util.*;
class Solution {
public String solution(String[] seoul) {
int idx = Arrays.asList(seoul).indexOf("Kim");
return "김서방은 " + idx + "에 있다";
}
}class Solution {
public int solution(long num) {
int answer = 0;
while(num != 1 && answer <= 500){
num = (num % 2 == 0)? num / 2 : num * 3 + 1;
answer++;
}
return (answer > 500)? -1 : answer;
}
}class Solution {
public String solution(String phone_number) {
String answer = "";
int l = phone_number.length();
for(int i = 0; i < l - 4; i++) answer += '*';
for(int i = l - 4; i < l ;i++) answer += phone_number.charAt(i);
return answer;
}
}
//StringBuilder 활용
class Solution {
public String solution(String phone_number) {
String answer = "";
int l = phone_number.length();
StringBuilder sb = new StringBuilder();
for(int i = 0; i < l - 4; i++) sb.append("*");
for(int i = l - 4; i < l ;i++) sb.append(phone_number.charAt(i));
// answer.append(phone_number.substring(l - 4)); 이것도 가능
answer = sb.toString();
return answer;
}
}class Solution {
public String solution(String s) {
int l = s.length();
String answer = (l % 2 == 0)? s.substring(l/2-1, l/2 + 1) : s.substring(l/2, l/2 + 1);
return answer;
}
}