diff --git "a/\354\210\230\354\232\224\354\235\274/Junil/Week05/1.js" "b/\354\210\230\354\232\224\354\235\274/Junil/Week05/1.js" new file mode 100644 index 00000000..7f99efbd --- /dev/null +++ "b/\354\210\230\354\232\224\354\235\274/Junil/Week05/1.js" @@ -0,0 +1,46 @@ +// /문자열 다루기 기본 + + +function solution(s) { + // let a = s.split('') + // return a.map((el) => isNaN(Number(el))).includes(true) ? false : true + + for (let i = 0; i < s.length; i++) { + if (isNaN(Number(s[i]))) return false; + } + + if (s.length !== 4 && s.length !== 6) return false; + + return true +} + + // 테스트 1 〉 통과 (0.04ms, 33.5MB) + // 테스트 2 〉 통과 (0.05ms, 33.5MB) + // 테스트 3 〉 통과 (0.04ms, 33.4MB) + // 테스트 4 〉 통과 (0.04ms, 33.5MB) + // 테스트 5 〉 통과 (0.05ms, 33.6MB) + // 테스트 6 〉 통과 (0.07ms, 33.4MB) + // 테스트 7 〉 통과 (0.04ms, 33.5MB) + // 테스트 8 〉 통과 (0.05ms, 33.4MB) + // 테스트 9 〉 통과 (0.04ms, 33.4MB) + // 테스트 10 〉 통과 (0.04ms, 33.6MB) + // 테스트 11 〉 통과 (0.04ms, 33.4MB) + // 테스트 12 〉 통과 (0.04ms, 33.6MB) + // 테스트 13 〉 통과 (0.04ms, 33.4MB) + // 테스트 14 〉 통과 (0.04ms, 33.4MB) + // 테스트 15 〉 통과 (0.04ms, 33.4MB) + // 테스트 16 〉 통과 (0.04ms, 33.4MB) + // 테스트 17 〉 통과 (0.04ms, 33.4MB) + // 테스트 18 〉 통과 (0.04ms, 33.5MB) + // 테스트 19 〉 통과 (0.04ms, 33.4MB) + // 테스트 20 〉 통과 (0.04ms, 33.5MB) + // 테스트 21 〉 통과 (0.04ms, 33.4MB) + // 테스트 22 〉 통과 (0.04ms, 33.5MB) + // 테스트 23 〉 통과 (0.03ms, 33.5MB) + // 테스트 24 〉 통과 (0.04ms, 33.4MB) + // 테스트 25 〉 통과 (0.04ms, 33.5MB) + // 테스트 26 〉 통과 (0.03ms, 33.4MB) + // 테스트 27 〉 통과 (0.07ms, 33.4MB) + // 테스트 28 〉 통과 (0.06ms, 33.4MB) + // 테스트 29 〉 통과 (0.04ms, 33.5MB) + // 테스트 30 〉 통과 (0.05ms, 33.6MB) \ No newline at end of file diff --git "a/\354\210\230\354\232\224\354\235\274/Junil/Week05/2.js" "b/\354\210\230\354\232\224\354\235\274/Junil/Week05/2.js" new file mode 100644 index 00000000..fef78c54 --- /dev/null +++ "b/\354\210\230\354\232\224\354\235\274/Junil/Week05/2.js" @@ -0,0 +1,35 @@ +// 약수의 개수와 덧셈 + + +function solution(left, right) { + let answer = 0 + for (let i = left; i <= right; i++) { + let count = [] + let idx = 1 + while (idx <= i) { + if (i % idx === 0) { + count.push(idx) + idx += 1 + } + if (i % idx !== 0) { + idx += 1 + } + if (idx === i) { + if ((count.length + 1) % 2 === 0) { + answer += i + } else if ((count.length + 1) % 2 !== 0) { + answer -= i + } + } + } + } + return answer +} + +// 테스트 1 〉 실패 (11.69ms, 36.8MB) +// 테스트 2 〉 통과 (3.31ms, 36.6MB) +// 테스트 3 〉 통과 (3.34ms, 36.7MB) +// 테스트 4 〉 통과 (2.60ms, 36.6MB) +// 테스트 5 〉 통과 (5.91ms, 36.9MB) +// 테스트 6 〉 통과 (2.79ms, 36.6MB) +// 테스트 7 〉 통과 (0.40ms, 33.5MB) \ No newline at end of file diff --git "a/\354\210\230\354\232\224\354\235\274/Junil/Week05/3.js" "b/\354\210\230\354\232\224\354\235\274/Junil/Week05/3.js" new file mode 100644 index 00000000..745698ae --- /dev/null +++ "b/\354\210\230\354\232\224\354\235\274/Junil/Week05/3.js" @@ -0,0 +1,33 @@ +// 부족한 금액 계산하기 + +function solution(price, money, count) { + var answer = 0; + for (let i = 1; i <= count; i++) { + answer += price * i + } + return answer < money ? 0 : answer - money +} + +// 테스트 1 〉 통과 (0.04ms, 33.4MB) +// 테스트 2 〉 통과 (0.03ms, 33.4MB) +// 테스트 3 〉 통과 (0.04ms, 33.5MB) +// 테스트 4 〉 통과 (0.04ms, 33.4MB) +// 테스트 5 〉 통과 (0.04ms, 33.5MB) +// 테스트 6 〉 통과 (0.04ms, 33.4MB) +// 테스트 7 〉 통과 (0.07ms, 33.5MB) +// 테스트 8 〉 통과 (0.04ms, 33.4MB) +// 테스트 9 〉 통과 (0.04ms, 33.4MB) +// 테스트 10 〉 통과 (0.04ms, 33.5MB) +// 테스트 11 〉 통과 (0.04ms, 33.4MB) +// 테스트 12 〉 통과 (0.07ms, 33.4MB) +// 테스트 13 〉 통과 (0.05ms, 33.5MB) +// 테스트 14 〉 통과 (0.06ms, 33.5MB) +// 테스트 15 〉 통과 (0.09ms, 33.4MB) +// 테스트 16 〉 통과 (0.05ms, 33.4MB) +// 테스트 17 〉 통과 (0.05ms, 33.5MB) +// 테스트 18 〉 통과 (0.13ms, 33.5MB) +// 테스트 19 〉 통과 (0.15ms, 33.5MB) +// 테스트 20 〉 통과 (0.10ms, 33.5MB) +// 테스트 21 〉 통과 (0.14ms, 33.4MB) +// 테스트 22 〉 통과 (0.09ms, 33.4MB) +// 테스트 23 〉 통과 (0.06ms, 33.4MB) \ No newline at end of file diff --git "a/\354\210\230\354\232\224\354\235\274/Junil/Week05/4.js" "b/\354\210\230\354\232\224\354\235\274/Junil/Week05/4.js" new file mode 100644 index 00000000..c1b85964 --- /dev/null +++ "b/\354\210\230\354\232\224\354\235\274/Junil/Week05/4.js" @@ -0,0 +1,32 @@ +// 행렬의 덧셈 + +function solution(arr1, arr2) { + let answer = []; + for (let i = 0; i < arr1.length; i++) { + let arr = [] + for (let j = 0; j < arr1[i].length; j++) { + arr.push(arr1[i][j] + arr2[i][j]); + } + answer.push(arr) + } + return answer; +} + + +// 테스트 1 〉 통과 (0.13ms, 33.5MB) +// 테스트 2 〉 통과 (0.17ms, 33.6MB) +// 테스트 3 〉 통과 (0.30ms, 33.8MB) +// 테스트 4 〉 통과 (0.21ms, 33.6MB) +// 테스트 5 〉 통과 (0.15ms, 33.5MB) +// 테스트 6 〉 통과 (0.20ms, 33.5MB) +// 테스트 7 〉 통과 (0.12ms, 33.4MB) +// 테스트 8 〉 통과 (0.18ms, 33.5MB) +// 테스트 9 〉 통과 (0.91ms, 38.5MB) +// 테스트 10 〉 통과 (0.63ms, 38MB) +// 테스트 11 〉 통과 (0.45ms, 37.7MB) +// 테스트 12 〉 통과 (0.55ms, 37.8MB) +// 테스트 13 〉 통과 (0.43ms, 37.7MB) +// 테스트 14 〉 통과 (0.57ms, 38MB) +// 테스트 15 〉 통과 (0.58ms, 38MB) +// 테스트 16 〉 통과 (0.53ms, 38MB) +// 테스트 17 〉 통과 (8.01ms, 67.5MB) \ No newline at end of file diff --git "a/\354\210\230\354\232\224\354\235\274/Junil/Week05/5.js" "b/\354\210\230\354\232\224\354\235\274/Junil/Week05/5.js" new file mode 100644 index 00000000..d54dbed8 --- /dev/null +++ "b/\354\210\230\354\232\224\354\235\274/Junil/Week05/5.js" @@ -0,0 +1,27 @@ +// 직사각형 별찍기 + +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 = 1; i <= b; i++) { + let star = '' + for (let k = 1; k <= a; k++) { + star = star + '*' + } + console.log(star) + } + +}); + +// 테스트 1 〉 통과 (42.04ms, 32MB) +// 테스트 2 〉 통과 (42.15ms, 32.1MB) +// 테스트 3 〉 통과 (44.19ms, 32.1MB) +// 테스트 4 〉 통과 (62.47ms, 32.1MB) +// 테스트 5 〉 통과 (43.29ms, 32MB) +// 테스트 6 〉 통과 (47.89ms, 32MB) +// 테스트 7 〉 통과 (62.96ms, 32MB) +// 테스트 8 〉 통과 (54.95ms, 33MB) +// 테스트 9 〉 통과 (52.84ms, 36.9MB) +// 테스트 10 〉 통과 (53.91ms, 32.4MB) +// 테스트 11 〉 통과 (57.97ms, 36.6MB) \ No newline at end of file diff --git "a/\354\210\230\354\232\224\354\235\274/Junil/Week05/6.js" "b/\354\210\230\354\232\224\354\235\274/Junil/Week05/6.js" new file mode 100644 index 00000000..37249d6f --- /dev/null +++ "b/\354\210\230\354\232\224\354\235\274/Junil/Week05/6.js" @@ -0,0 +1,29 @@ +// 최대공약수와 최소공배수 + +function solution(n, m) { + var answer = []; + for (let i = 1; i <= n; i++) { + if (n % i === 0 && m % i === 0) { + answer[0] = (i) + } + } + answer[1] = answer[0] * (n / answer[0]) * (m / answer[0]) + return answer; +} + +// 테스트 1 〉 통과 (0.04ms, 33.4MB) +// 테스트 2 〉 통과 (0.11ms, 33.4MB) +// 테스트 3 〉 통과 (0.11ms, 33.6MB) +// 테스트 4 〉 통과 (0.11ms, 33.6MB) +// 테스트 5 〉 통과 (0.04ms, 33.5MB) +// 테스트 6 〉 통과 (0.06ms, 33.5MB) +// 테스트 7 〉 통과 (0.06ms, 33.4MB) +// 테스트 8 〉 통과 (0.04ms, 33.4MB) +// 테스트 9 〉 통과 (0.12ms, 33.6MB) +// 테스트 10 〉 통과 (0.04ms, 33.5MB) +// 테스트 11 〉 통과 (0.13ms, 33.4MB) +// 테스트 12 〉 통과 (0.15ms, 33.5MB) +// 테스트 13 〉 통과 (0.13ms, 33.4MB) +// 테스트 14 〉 통과 (0.15ms, 33.5MB) +// 테스트 15 〉 통과 (0.13ms, 33.4MB) +// 테스트 16 〉 통과 (0.18ms, 33.6MB) \ No newline at end of file