본문 바로가기

공부/코딩테스트

(1일 1코딩)프로그래머스 음양 더하기[JAVA]

728x90

코딩테스트 연습 - 음양 더하기 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 음양 더하기

어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re

programmers.co.kr

 

 

오늘 리뷰할 코드는 프로그래머스 음양 더하기

 

정수배열과, 불린 배열이 입력되는데

 

불린배열의 참 거짓에 따라 절대값의 부호가 결정됨(+, -)

 

real_val이라는 int형 배열을 선언하고

 

불린 사인에 따라 1 또는 -1을 곱해 양수 또는 음수를 만들어 배열에 입력할 것임!

 

그리고 for문 안에서 i번 방부터 순서대로 더해주면 끝!

class Solution {
    public int solution(int[] absolutes, boolean[] signs) {
        int answer = 0;
        int[] real_val = new int[absolutes.length];
        int sum = 0;
        
        for(int i = 0; i<absolutes.length; i++){
            if(signs[i] == true){
                real_val[i] = absolutes[i]*1;
            }else{
                real_val[i] = absolutes[i]*(-1);
            }
            
            sum = sum+real_val[i];
            
            answer = sum;
        }
                
        return answer;
    }
}

 

한달전에 풀었던 코드인데 오늘 복기하다가 굳이 배열을 선언 안해도 될듯 하여 다시 풀어본 코드

 

class Solution {
    public int solution(int[] absolutes, boolean[] signs) {
    
        //2021-07-22 추가 다른방법으로 풀어보기
        
        int answer = 0;
        int sum = 0;
        for(int i = 0; i<absolutes.length; i++){
            if(signs[i] == true){
                absolutes[i] = absolutes[i]*1;
            }else{
                absolutes[i] = absolutes[i]*(-1);
            }
          sum = sum+absolutes[i];

        }
        
        answer = sum;
        
        return answer;
    }
}

뭐... 그게 그거나 인거같지만

 

유연하게 여러 시도를 해보는 연습을 하는 중...ㅠㅠ

 

 

쉬운 코드지만 당분간 머리가 말랑말랑 해질 때 까지

자만하지 말고 꾸준하게 코드 리뷰할 것!

(사실 자만할 것도 없는 실력임 따흑)