알고리즘/JavaScript 22

JavaScript로 프로그래머스 풀기. 음양 더하기

프로그래머스 1레벨 > 코딩테스트 연습 > 월간 코드 챌린지 시즌 2 > 음양 더하기 내 풀이) for문 내부에 if 문을 적어서 풀어도 되지만, 삼항 연산자를 쓰는 것이 더욱 코드가 간결해져 써보았다. 입력값으로 들어오는 absolutes에 들어있는 각 원소의 크기는 최대 1000이므로 number 형 범위에 충분히 포함된다. 또한 absolutes의 크기는 1000이하이므로 for문을 통해 계산하여도 시간이 충분하다. 내 코드) function solution(absolutes, signs) { let answer = 0; for (let i in signs) { answer += signs[i] ? absolutes[i] : absolutes[i] * -1; } return answer; }

JavaScript로 프로그래머스 풀기. 두 정수 사이의 합.

프로그래머스 1레벨 > 코딩테스트 연습 > 연습문제 > 두 정수 사이의 합. 내 풀이) 간단한 문제이다. 우선 js에서 Number 타입은 -9,007,199,254,740,991부터 9,007,199,254,740,991 범위 내라고 한다... 정말 어마무시한 값이다. java나 c에선 고작 int 형으로 4바이트밖에 쓰지 못하는데, js에선 거의 1경에 달하는 숫자까지 쓸 수 있으니 말이다. 이보다 더 큰 수는 Number 타입의 값인 Infinity, -Infinity로 표현되기도 하고, ES2020년부터 지원되는 bigInt 타입을 써서 더 큰 수를 나타낼 수 있다. 이 문제에선 최악의 경우 고작(?) -10,000,000 ~ 10,000,000 사이 합을 구하면 되므로 그냥 for 문을 사용하자..