https://programmers.co.kr/learn/courses/30/lessons/86051
입출력 예시
numbers result
[1,2,3,4,6,7,8,0] 14
[5,8,4,0,6,7,9] 6
class Solution {
public int solution(int[] numbers) {
int answer = 45;
for(int i=0; i<numbers.length; i++){
answer -= numbers[i];
}
return answer;
}
}
1부터 9까지의 모든 숫자의 합은 45이므로 int answer = 45로 두고
0부터 number.length만큼 반복문을 돌려서 나오는 값을 answer에서 빼주면 없는 값의 합이 남는다
https://programmers.co.kr/learn/courses/30/lessons/76501
입출력예시
absolutes signs result
4,7,12 true,false,true 9
1,2,3 false,false,true 0
signs가 [false,false,true] 이므로, 실제 수들의 값은 각각 -1, -2, 3입니다.
따라서 세 수의 합인 0을 return 해야 합니다.
class Solution {
public int solution(int[] absolutes, boolean[] signs) {
int answer = 0;
for (int i =0; i<absolutes.length; i++){
if (signs[i] == true){
answer += absolutes[i];
}else {
answer -= absolutes[i];
}
}
return answer;
}
}
absolutes배열 안에 들어있는 값이 양수면 더하고 음수면 빼주면 되는 문제
signs[i]가 ture면 양수 아니면 음수임으로 for문을 돌려서 각각 값을 찾고 조건문을 사용하여
양수면 더해주고 음수면 빼주면 된다.
https://programmers.co.kr/learn/courses/30/lessons/12944
입출력 예시
arr return
[1,2,3,4] 2.5
[5,5] 5
class Solution {
public double solution(int[] arr) {
double answer = 0;
double sum =0;
for(int i =0; i<arr.length; i++){
sum +=arr[i];
}answer=sum / arr.length;
return answer;
}
}
평균은 각각의 값을 다 더해서 그 수만큼 나눠주면 구할 수있으므로
먼저 값을 더한것을 저장할 변수 sum을 선언(평균은 소수점이 나올 수 있어서 double타입으로 선언했다)
for문을돌려서 각각의 값을 구하고 그값을 sum에 각각 더해준다
그후 sum을 arr.legth로 나눠주면 평균값이나온다!
https://programmers.co.kr/learn/courses/30/lessons/12948
입출력 예시
phone_number return
"01033334444" "***4444"
"027778888" "*8888"
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;
}
}
입력받은 phone_number의 값의 길이중 뒤에 4자리만 빼고 *로 표시하면 된다
1. for문을 이용해 phone_number의 길이만큼 반복
2. if문을 이용해 i가 phone_number의 길이에서 4를 뺀수보다 작을때까지 answer에*을 넣어준다
3. 위 조건이 아니라면 .charAt()메소드를 통해 문자를 하나씩 순서대로 넣어준다
charAt 사용법 -https://ddolcat.tistory.com/496
https://programmers.co.kr/learn/courses/30/lessons/12950
입출력예시
arr1 arr2 return
[[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,9]]
[[1],[2]] [[3],[4]] [[4],[6]]
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int[][] answer = new int [arr1.length][arr1[0].length];
for (int i = 0; i<arr1.length; i++){
for (int j=0; j<arr1[0].length; j ++){
answer[i][j] = arr1[i][j] + arr2[i][j];
}
}
return answer;
}
}
arr1,arr2의 각 행과 열의 길이가 같음으로 i
같은 길이의 배열 int[ ][ ] answer = new int [arr1.lnegth][arr1[0].legnth]를 하나 선언
arr1의 행반큼 반복문을 돌리고 그후 arr1[0]의 열만큼 반복문을 돌려서
각각 값을 i,j로 가져온후
answer[i][j]의 값에 (arr1[i][j] + arr2[i][j])를 대입해주면 된다