문제
import java.util.*;
class Solution {
public int[] solution(int[] arr) {
ArrayList answer1 = new ArrayList();
int d = 0;
int[] arr2 = new int[arr.length];
for(int i = 0; i < arr.length; i++) {
arr2[i] = arr[i];
}
//arr오름차순 정렬
for(int i = 0; i < arr.length; i++) {
for(int j = 0; j < arr.length-1; j++) {
if(arr[j]>arr[j+1]) {
int a;
a = arr[j];
arr[j] = arr[j+1];
arr[j+1] = a;
}
}
}
//d에 최소값을 넣음
if(arr.length != 0) {
d = arr[0];
}else {
d = -1;
}
ArrayList<Integer> al = new ArrayList<Integer>();
for(int i = 0; i < arr.length; i++) {
al.add(arr2[i]);
}
for(int j = 0; j < al.size(); j++) {
for(int i = 0; i < al.size(); i++) {
if(al.get(i) == d) {
al.remove(i);
break;
}
}
}
if(al.size() == 0) {
al.add(-1);
}
int[] answer = new int[al.size()];
for(int i = 0; i < al.size(); i++){
answer[i] = al.get(i);
}
for(int o = 0; o < al.size(); o++){
answer1.add(al);
}
return answer;
}
}
+7점
코드가 엄청 길고 복잡함
근데 하다 안하다 하다 안하다해서 내가 어디에 뭘썼는지 기억이 안남
귀찮아서 막 하다보니까 통과하길래 그냥 썼음
class Solution {
public int solution(int[] absolutes, boolean[] signs) {
int answer = 123456789;
int s = 0;
for(int i = 0; i < absolutes.length; i++){
if(signs[i] == false) {
absolutes[i] *= -1;
}
}
for(int i = 0; i < absolutes.length; i++){
s += absolutes[i];
}
answer = s;
return answer;
}
}
+1점
class Solution {
public String solution(String s) {
String answer = "";
char an = 'a';
char an1 = 'a';
int b = 0;
int a = s.length();
if(a % 2 == 0) {
b = (a/2);
an = s.charAt(b-1);
an1 = s.charAt(b);
answer += String.valueOf(an);
answer += String.valueOf(an1);
}else {
b = (a/2);
an = s.charAt(b);
answer += String.valueOf(an);
}
return answer;
}
}
+1점
복습할점 : char를 String으로 바꿀때 쓰는 함수 ==> String.valueOf(char객체)
class StringExercise{
String getMiddle(String word){
return word.substring((word.length()-1) / 2, word.length()/2 + 1);
}
substring쓰면 알아서 범위 인덱스 값 사이의 문자를 가져온다 함
내 현탐도 가져옴
class Solution {
public int solution(int[] numbers) {
int answer = -1;
int s = 0;
for(int i = 0; i < numbers.length; i++)
{
s += numbers[i];
}
answer = 45 - s;
return answer;
}
}
+1점
+1점
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;
}
}
+1점
포문으로 해결가능하지만 무작정 돌리는 포문 코딩은 별로 도움도 안될거같고 슬슬 다른 방법도 배우고싶어서 검색함.
Arrays.sort를 이용하는 방법
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
char[] a = new char[s.length()];
for(int i = 0; i < s.length(); i++) {
a[i] = s.charAt(i);
}
Arrays.sort(a);
for(int i = 0; i < s.length(); i++) {
answer += a[s.length()-i-1];
}
return answer;
}
}
+2점
복습할점 : Arrays.sort()의 활용법
class Solution {
public boolean solution(String s) {
boolean answer = true;
char[] a = new char[s.length()];
if(s.length() == 4 || s.length() == 6) {
answer = true;
}else {
answer = false;
}
//아스키코드활용
for(int i = 0; i < s.length(); i++) {
a[i] = s.charAt(i);
if((int)a[i] < 48 || (int)a[i] > 57) {
System.out.println((int)a[i] + "이고");
answer = false;
}
}
return answer;
}
}
+9점