![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/Tgep8/btrN4O5EZ4u/JDbJwqc3zusro0bpfAUrk1/img.png)
코테이토 4기 알고리즘 스터디 - 10월 1주차 공통과제 A 약수의 합 구하기 🎈 문제 및 해석 입력 받은 수의 약수들의 합을 구하여라 1. 약수를 구하기 => 어떤 수 n을 n의 약수로 나누면 0이 된다(자연수 n의 약수 i에 대하여 n%i == 0)는 특성을 활용 2. 그 합을 구하기 = > 위의 조건에 부합하는 i들만 별도로 합 누적하기 ✨ 문제 풀이 // JavsScript function solution(n) { let sum = 0; for(let i=1; i Python은 삼항 연산자의 형태가 타 언어와는 조금 다르게 if else를 사용한다.
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/dlyulZ/btrNyFVCWrV/PWhxCrTno42sjLKQWT9Tik/img.png)
🎈 문제 및 해석 테스트 케이스의 총 개수, 각 과목의 총 학생 수, 해당 과목의 학생수가 차례대로 주어진다. 입력으로 들어오는 값의 종류가 총 세가지이므로 이들을 잘 분리하는 것, 평균을 구하는 것, 반올림하여 소수점 셋째 자리까지 구하는 것까지 이 세가지 항목이 이 문제의 핵심이라고 할 수 있다. 🎯 코드 및 문제 풀이 const fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split('\n'); const testCase = Number(input[0]); for(let i=1; iNumber(i)); let n = line[0]; line = line.splice(1, n); // 학생 수를 나타내는 0번째 수 ..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/bazQMs/btrNFTkNuGi/9WTTGFYLPK1YC7lBK2VDO0/img.png)
우선 백준에서 JS로 문제를 풀기 위해서는 입출력 부분도 구현을 했어야했는데, 이를 위해 fs 모듈을 사용하는게 빠르다고 하여 이 모듈을 사용하여 입출력을 다루기로 하였다. 이 부분과 관련하여 잘 정리해주신 블로그가 있어 Reference에 기재하였으며, 이를 토대로 구현하였다. 파일 입력 받기 아래의 코드를 통해 입력되는 모든 것을 문자열의 형태로 한번에 input에 저장할 수 있다. 이후 알아서 spit() 함수를 통해 분리하여 사용하면 된다. 백준 사이트에 제출할때는 readFileSync의 인자로 '/dev/stdin/'을 주어야하지만, 로컬에서 돌릴 때에는 별도의 입력값이 적혀있는 txt 문서를 준비하고 해당 문서의 경로를 적어주면 된다. const fs = require('fs'); let i..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/cYiui4/btrNzJQkWIs/Hb6xYu1sWJ3r0ZFfHa5rfk/img.png)
JS 배열과 관련 메서드 혹은 속성들을 정리해보자.(자주 사용할 것 같은 것 위주) 🎯 정리 - array.length ✨ : 배열 길이 - array.push(item) / array.pop() ✨ : 배열 뒤에 원소 삽입/삭제 - array.unshift(item) / array.shift() : 배열 앞에 원소 삽입/삭제 - array.indexOf(item) ✨ : 원소의 인덱스 찾기 indexOf()는 === 연산자를 통해 비교한다는 것을 고려해서 사용해야한다. 해당 원소가 발견되지 않으면 -1을 반환한다. - array.concat(array1, array2, ...) ✨ : 배열 합치기 인자로 넘겨 받은 배열 혹은 원소들을 기존의 배열에 추가한 배열을 반환한다. const month1 = [..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/6UbdN/btrN33P3ony/VODAkOnMgfCnZwinOdSdy0/img.png)
코테이토 4기 알고리즘 스터디 - 9월 4주차 공통 과제 A 하샤드 🎈 문제 및 해석 입력 받은 수가 각 자리 수의 합으로 나누어 떨어진다면 True, 아니라면 False를 반환하는 함수를 만든다. 즉, 이 문제를 풀기 위해서는 각 자리 수의 합을 구하는 것이 중요하다. ✨ 문제 풀이 // JavaScript function solution(num) { let tmp = num; let digitSum=0; while(tmp){ digitSum += tmp%10 tmp = parseInt(tmp/10) } return (num%digitSum==0); } # python def solution(num): tmp = num; digit_sum = 0 while(tmp): digit_sum += tmp%10..