class Solution {
public int solution(int[] numbers) {
int sum = 45;
for (int i : numbers) {
sum -= i;
}
return sum;
}
}
비교적 쉬운 문제다. 1.우선 numbers의 범위는 1~9다. 2.입력칸 배열 numbers에 없는 정수만 다 더해서 값을 return해준다. 3.1~9 의 합(sum)은 45. 4.반복문을 돌려 int i 값에 numbers에 대입한다 5.sum의 값은 sum에서 i를 뺀값.
7번문제
코드리뷰
class Solution {
public int solution(int[] absolutes, boolean[] signs) {
int answer = 0;
for (int i=0; i<signs.length; i++)
answer += absolutes[i] * (signs[i]? 1: -1);
return answer;
}
}
1.배열의 종류가 두개이다. 2. 하나는 정수형 배열, 하나는 논리형 배열. 3.삼항연산자를 사용해 비교적 간단하게 해결가능하다.(삼항연산자 (조건문) ? 참 : 거짓)
if else로도 당연히 해결가능하다.
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;
}
}
문제 파악을 한 후 어떻게 풀지를 빠르게 판단하는 능력을 길러야겠다.
8번문제
코드리뷰
class Solution {
public double solution(int[] arr) {
double answer = 0;
int total = 0;
for(int i=0;i<arr.length;i++) {
total += arr[i];
}
answer = (double)total / arr.length;
return answer;
}
}
1.평균은 배열안의 값을 다 더한후 배열의 개수로 나눠줘야 한다. 2.모두 더한값 total을 선언, 3.for문으로 배열의 개수를 점점 늘린다는 조건을 써준다. 4.total의 값은 arr[i]와 total을 더한 값 5.answer의 값은 total의 값을 arr.length 배열 갯수로 나눠준다. 6.선언하면 끝
9번문제
코드리뷰
class Solution {
public String solution(String phone_number) {
String answer = "";
for(int i = 0; i < phone_number.length(); i++){
if(i < phone_number.length()-4){
answer += "*";
}
else{
answer += phone_number.charAt(i);
}
}
return answer;
}
}
1.중요한 조건은 전화번호 맨뒷자리 4자리를 제외한 모든 숫자를 *로 바꿔야된다는것. 2.고로 if문에는 끝에 네자리가 닿을때 for문이 멈춘다.
댓글