1차 공부/알고리즘 28

평균 구하기

문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한 사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. function solution(arr) { var answer = 0; for (let i=0;i acc+cur, 0)/arr.length } 다음으로 reduce를 공부하고 나중에 다시 풀은 버전이다. 굉장히 코드가 깔끔해진것을 알 수 있다.

음양 더하기

문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제한 사항 absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. function solution(absolutes, signs) { //부호가 +면 true, -면 false로 배열에 있다. var a..

없는 숫자 더하기

문제 설명 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한 사항 1 ≤ numbers의 길이 ≤ 9 0 ≤ numbers의 모든 원소 ≤ 9 numbers의 모든 원소는 서로 다릅니다. 내 풀이 function solution(numbers) { var answer = 0; for (let i=1; i accumulator + currentValue, 0); } 배열.reduce((누적값, 현재값, 인덱스, 요소) => {return 결과}, 초깃값) 위에선 인덱스, 요소 안쓰고 return 에 accumulator + cu..

문자열을 정수로 바꾸기

문제설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 "0"으로 시작하지 않습니다. 입력된 값의 부호와 숫자를 판별해 반환해 주면 되는 문제입니다. function solution(s) { var answer = ''; let b = ''; //빈 문자열을 만들어준다. if (s[0]==='-'){ //부호가 -일때 for (i=0; i

두정수사이의합

문제설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. function solution(a, b) { var answer = 0; if (a>b) {//만약 입력값중 a가 b보다 크다면 for(let i=b; i

가운데 글자

문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 위의 입출력 예처럼 홀수라면 가운데 한글자를, 짝수라면 가운데로부터 양 옆 두글자를 반환하면 된다. 인덱스는 0부터 시작하는데, 위의 abcde를 예로 들자면 아래와 같이 인덱스값을 가지고 있다. 인덱스 문자 0 a 1 b 2 c 3 d 4 e function solution(s) {//인덱스는 0부터 시작한다. var answer = ''; let inputLength = s.length//입력된 s의 길이를 inputLength라는 변수에 입력시킨다. let odd = Math.floor(inputLe..

짝수와 홀수

문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. function solution(num) { var answer = ''; if (num % 2 === 0) { //입력값이 짝수라면 answer = "Even" //Even을 반환하고 } else { //입력값이 홀수라면 answer = "Odd" //Odd를 반환한다. } return answer; } 쉬운 문제였다. 입력값도 하나만 주어지기때문에 if문 하나만으로 해결이 가능했다. function solution(num) { if (num % 2 === 0) { //입력값이 짝수라면 return "Eve..

직사각형 별찍기

문제 설명 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 위의 예시 대로면, data = 5 3으로 들어온다. process.stdin.setEncoding('utf8'); process.stdin.on('data', data => { const n = data.split(" ");//data로 들어온 입력값을 띄어쓰기 기준으로 나눔 const a = Number(n[0])//a값은 한 줄에 몇개의 별이 들어올지에 대한 값 const b = Number(n[1]);//b값은 a값만큼 생긴 별이 몇 줄일지 결정 const row = `${'..