[level 1] x만큼 간격이 있는 n개의 숫자
·
알고리즘/JavaScript
문제 풀이 코드 function solution(x, n) { var answer = [x]; for (let i = 0; i < n - 1; i++) { answer.push(answer[answer.length - 1] + x); } return answer; } 풀이 과정 배열 초기 값을 입력들어온 x 하나만 넣고 배열의 push 함수를 사용하여 배열의 요소를 계속 추가해 주었다. 추가 하는 방식은, 배열의 마지막 요소를 기준으로 x 값을 계속 더해주면서 추가했다! 다른 풀이과정에서 fill 과 map 을 사용한 풀이도 있었지만, 내가 푼 방식으로도 충분하다는 생각이 들었다.
[level 1] 직사각형 별찍기
·
알고리즘/JavaScript
문제 풀이 코드 process.stdin.setEncoding('utf8'); process.stdin.on('data', (data) => { const n = data.split(' '); const a = Number(n[0]), b = Number(n[1]); writeStar(a, b); }); function writeStar(a, b) { let starCount = ''; for (let i = 0; i < a; i++) { starCount += '*'; } for (let i = 0; i < b; i++) { console.log(starCount); } } 풀이 과정 starCount 라는 변수에 for 반복문을 사용하여 * 을 a 입력만큼 저장 하였고, b 만큼 starCount 를..
[level 1] 짝수와 홀수
·
알고리즘/JavaScript
문제 풀이 코드 function solution(num) { return num % 2 == 0 ? 'Even' : 'Odd'; } 풀이 과정 삼항 연산자를 이용하여 한줄의 코드로 표현할 수 있다
[level 1] 없는 숫자 더하기
·
알고리즘/JavaScript
문제 풀이 코드 function solution(numbers) { var answer = -1; const MAX_NUM = 9; let sum = 0; for (let i = 0 ; i total + current, 0); answer = sum - numbers_sum; return answer; } 풀이 과정 1. 문제에서 요구사항을 보고 reduce 함수를 사용 하면 될 것 같았다. reduce 함수로 들어온 배열의 모든값을 더하고, 0 ~ 9 까지의 합에서 해당 값을 빼면 된다고 생각했다! 너무 간단한 문제지만 고차 함수인 reduce 를 모르면 코드가 훨씬 길어졌을 것이다. 개발할때는 항상 모든 상황에 대한 경우의 수를 생각해야 한다고 했다. 간단하게 0~9 까지의 더한 값을 바로 사용하면 ..