프로그래머스 자바 음양더하기
* 솔루션
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 |