TIL

220514 TIL

Vince_rf 2022. 5. 15. 22:19

프로그래머스 자바 음양더하기 

 

* 솔루션
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;
    }
}

# 해결하지 못한 문제
왜 i <= absolutes.length; 는 코드가 동작하지 않을까?
-> 자료형은 0번째 인덱스부터 시작하기 때문에 <=가 들어가면 자료형의 길이를 초과하게 된다
자바스크립트에서 
for ( let =0; i < rows.length; i++)
    let row = rows[i]['~~~~']
자료형 rows의 길이가 10이라고 쳤을 때 인덱스가 0부터 시작해서 9번 인덱스가 가장 마지막이다.
즉 row가 꺼내오는 값이 rows의 10번째 인덱스가 될 수는 없는 노릇.



for (int i=0; i<signs.length; i++)
            answer += absolutes[i] * (signs[i]? 1: -1);
-> 삼항연산자를 사용한 풀이

'TIL' 카테고리의 다른 글

220515 WIL  (0) 2022.05.15
220515 TIL  (0) 2022.05.15
220513 TIL  (0) 2022.05.15
220512 TIL  (0) 2022.05.15
220511 TIL  (0) 2022.05.15