알고리즘/프로그래머스
![[lv.1] 평균 구하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2F88aEz%2FbtrCibEs6ZD%2FAAAAAAAAAAAAAAAAAAAAAHoO1vTKRe8SYHTHPVx5B5CeTpj2yc-WiS3LJ3MIOzlV%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DCGEcHH2bhdtrjgTchn%252FByI0Y94g%253D)
[lv.1] 평균 구하기
문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arrreturn [1,2,3,4] 2.5 [5,5] 5 내 풀이 1 내 풀이 2 // 내 풀이 2 - forEach function solution2(arr) { let sum = 0; arr.forEach((v)=>{ sum += v; }); return sum/arr.length; } 내 풀이 3 // 내 풀이 3 - reduce function solution3(arr) { return arr.reduce((acc, cur)=>acc+cur) / arr...
![[lv.1] 음양 더하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fsg8V6%2FbtrCkgkt4gu%2FAAAAAAAAAAAAAAAAAAAAAMvClB_6NuB1Ixsh3qQhI2kllQHRtfrPlS6YYFZ-ouP_%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DLgferU3l3IaGhBA8k5ftCzedwFI%253D)
[lv.1] 음양 더하기
문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제한사항 absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 입출력 예absolutessignsresult [4,7,12] [true,false,true] 9 [1,2,3] [false,false,t..
![[lv.1] 없는 숫자 더하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FluOgm%2FbtrB5piYW0C%2FAAAAAAAAAAAAAAAAAAAAAOUixX8-DQDEFPgTZ1emL8u16DKYpz7tlw_k1fKNr2I6%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DJ3dXwA9%252BWZRLlbrr6H7zFyjUtU8%253D)
[lv.1] 없는 숫자 더하기
문제 설명 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ numbers의 길이 ≤ 9 0 ≤ numbers의 모든 원소 ≤ 9 numbers의 모든 원소는 서로 다릅니다. 입출력 예numbersresult [1,2,3,4,6,7,8,0] 14 [5,8,4,0,6,7,9] 6 입출력 예 설명 입출력 예 #1 5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다. 입출력 예 #2 1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다. 내 풀이 f..
![[lv.1] 두 정수 사이의 합](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fbigm81%2FbtrB7NQdM01%2FAAAAAAAAAAAAAAAAAAAAAKrb7Gqd3hGw2pSszCuGEdyyHol5rhrmuurLfmZg25v6%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D%252F8T8fcatN4Pa6d%252Fn%252BsR7wp1udoQ%253D)
[lv.1] 두 정수 사이의 합
문제 설명 두 정수 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의 대소관계는 정해져있지 않습니다. 입출력 예 a b return 3 5 12 3 3 3 5 3 12 내 풀이 function solution(a, b) { let answer = 0; let small = a b ? a : b; //큰 수 for(let i = small; i
![[lv.1] 문자열을 정수로 바꾸기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2F6nKD6%2FbtrB45Sy8yO%2FAAAAAAAAAAAAAAAAAAAAAPcfNgtHgIYxv_RsqDF85vKqPFZ-qQHB3YJMkxAovHiP%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DUpzKW62ETOGKvWg7iK007fM3mOo%253D)
[lv.1] 문자열을 정수로 바꾸기
문제 설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 "0"으로 시작하지 않습니다. 입출력 예 예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. 내 풀이 function solution(s) { return Number(s); //parseInt(s)도 가능 } 다른 사람 풀이 1 function solution(str){ return str/1; } 다른 사람 풀이 2 // int to..
![[lv.1] 가운데 글자 가져오기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbrkMRe%2FbtrB5piV7SY%2FAAAAAAAAAAAAAAAAAAAAAJfPzKlvV2wCFOTeSE7Avl7S38_k4vE_Gfd1OlFqpYmH%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D4INB7X8KOSQzd2oQifQB0pZd5sI%253D)
[lv.1] 가운데 글자 가져오기
문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 s return "abcde" "c" "qwer" "we" 다른 사람 풀이 function solution(s){return s.substr(Math.ceil(s.length/2)-1, s.length % 2 === 0 ? 2:1);} 간결하고 깔끔한 풀이이다. substr 메서드는 문자열에서 특정 위치에서 시작하여 특정 문자 수만큼 문자들을 반환하는 메서드이다. 배열의 splice 메서드와 파라미터와 반환값이 유사하다. 내 풀이 1. charAt(), substring()으로 풀이하기 functi..
![[lv.1] 짝수와 홀수](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbgZ2bi%2FbtrB6PHKuSL%2FAAAAAAAAAAAAAAAAAAAAAGXpmAAHy4nzG42HKEDwsEeo6t8_vyMB0ZTHgH0Y9yaI%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D%252BBQ7rkBaQ2sOVahlLJJxHaLeTdc%253D)
[lv.1] 짝수와 홀수
정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" 내 풀이 function solution(num) { var answer = ''; if(num % 2 === 0) answer="Even"; else answer="Odd"; return answer; } 다른 사람 풀이 function solution(num) { return num % 2 == 0 ? "Even" : "Odd"; } 👉 삼항 연산자로 풀이
![[lv.1] 직사각형 별찍기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbpbYku%2FbtrB6Jm6pBy%2FAAAAAAAAAAAAAAAAAAAAADBnvz6B4IfWUIxOCHPHx0WuZIqCn_RbR4tueL5iQje6%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DxiHHy1qCsU4pAx6dUJQc5%252Fh2AQs%253D)
[lv.1] 직사각형 별찍기
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 예시 입력 5 3 출력 ***** ***** ***** 내 풀이 process.stdin.setEncoding('utf8'); process.stdin.on('data', data => { const n = data.split(" "); const a = Number(n[0]), b = Number(n[1]); for(let i = 0; i < b; i++){ console.log('*'.repeat(a)); } }); 💡 정리 1. repeat() 특정 문자열을 주어진 횟수만큼 반복하여 붙인..