Skip to content

Commit 9933970

Browse files
authored
Merge branch 'border-studygroup:develop' into develop
2 parents c68e8a4 + 1a396d7 commit 9933970

30 files changed

+1280
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
### 문제 설명
2+
3+
- 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요.
4+
5+
---
6+
7+
### 제한사항
8+
9+
- 0 ≤ numbers의 원소 ≤ 1,000
10+
- 1 ≤ numbers의 길이 ≤ 100
11+
- 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.
12+
13+
---
14+
15+
### 입출력 예
16+
17+
| numbers | result |
18+
| -------------------------------------------- | ------ |
19+
| [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] | 5.5 |
20+
| [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99] | 94.0 |
21+
22+
---
23+
24+
### 입출력 예 설명
25+
26+
- 입출력 #1 : numbers의 원소들의 평균 값은 5.5입니다.
27+
- 입출력 #2 : numbers의 원소들의 평균 값은 94.0입니다.
28+
29+
---
30+
31+
### 나의 풀이
32+
33+
```javascript
34+
function solution(numbers) {
35+
let sum = 0;
36+
for (let num of numbers) {
37+
sum += num;
38+
}
39+
return sum / numbers.length;
40+
}
41+
```
42+
43+
### 회고
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
### 문제 설명
2+
3+
- 머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.
4+
5+
---
6+
7+
### 제한사항
8+
9+
- 1 ≤ n ≤ 100
10+
11+
---
12+
13+
### 입출력 예
14+
15+
| n | result |
16+
| --- | ------ |
17+
| 7 | 1 |
18+
| 15 | 3 |
19+
20+
---
21+
22+
### 입출력 예 설명
23+
24+
- 입출력 #1 : 7명이 최소 한 조각씩 먹기 위해서 최소 1판이 필요합니다.
25+
- 입출력 #2 : 명은 최소 한 조각을 먹기 위해 1판이 필요합니다.
26+
- 입출력 #3 : 15명이 최소 한 조각씩 먹기 위해서 최소 3판이 필요합니다.
27+
28+
---
29+
30+
### 나의 풀이
31+
32+
```javascript
33+
function solution(n) {
34+
// let answer = 0;
35+
// n % 7 === 0 ? (answer = n / 7) : (answer = Math.floor(n / 7) + 1);
36+
let answer = n % 7 === 0 ? n / 7 : Math.floor(n / 7) + 1;
37+
return answer;
38+
}
39+
```
40+
41+
### 회고
42+
43+
- 삼항 연산자에서 함수를 직접 return 시킬 수는 없다.
44+
- 삼항 연산자는 표현식이므로 변수에 직접 할당할 수 있다.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
### 문제 설명
2+
3+
- 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.
4+
5+
---
6+
7+
### 제한사항
8+
9+
- 1 ≤ n ≤ 100
10+
11+
---
12+
13+
### 입출력 예
14+
15+
| n | result |
16+
| --- | ------ |
17+
| 6 | 1 |
18+
| 10 | 5 |
19+
| 4 | 2 |
20+
21+
---
22+
23+
### 입출력 예 설명
24+
25+
- 입출력 #1 : 6명이 모두 같은 양을 먹기 위해 한 판을 시켜야 피자가 6조각으로 모두 한 조각씩 먹을 수 있습니다.
26+
- 입출력 #2 : 10명이 모두 같은 양을 먹기 위해 최소 5판을 시켜야 피자가 30조각으로 모두 세 조각씩 먹을 수 있습니다.
27+
- 입출력 #3 : 4명이 모두 같은 양을 먹기 위해 최소 2판을 시키면 피자가 12조각으로 모두 세 조각씩 먹을 수 있습니다.
28+
29+
---
30+
31+
### 나의 풀이
32+
33+
```javascript
34+
function solution(n) {
35+
let answer = 1;
36+
while (!((answer * 6) % n === 0)) {
37+
answer++;
38+
}
39+
return answer;
40+
}
41+
```
42+
43+
### 회고
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
### 문제 설명
2+
3+
- 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.
4+
5+
---
6+
7+
### 제한사항
8+
9+
- 2 ≤ slice ≤ 10
10+
- 1 ≤ n ≤ 100
11+
12+
---
13+
14+
### 입출력 예
15+
16+
| slice | n | result |
17+
| ----- | --- | ------ |
18+
| 7 | 10 | 2 |
19+
| 4 | 12 | 3 |
20+
21+
---
22+
23+
### 입출력 예 설명
24+
25+
- 입출력 #1 : 10명이 7조각으로 자른 피자를 한 조각 이상씩 먹으려면 최소 2판을 시켜야 합니다.
26+
- 입출력 #2 : 12명이 4조각으로 자른 피자를 한 조각 이상씩 먹으려면 최소 3판을 시켜야 합니다.
27+
28+
---
29+
30+
### 나의 풀이
31+
32+
```javascript
33+
function solution(slice, n) {
34+
let answer = 1;
35+
while (!(slice * answer >= n)) {
36+
answer++;
37+
}
38+
return answer;
39+
}
40+
```
41+
42+
### 회고
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# 나머지 구하기
2+
3+
## 문제 설명
4+
정수 `num1`, `num2`가 매개변수로 주어질 때, `num1``num2`로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요.
5+
6+
## 제한사항
7+
- 0 < num1 ≤ 100
8+
- 0 < num2 ≤ 100
9+
10+
## 입출력 예
11+
|num1|num2|result|
12+
|----|----|----|
13+
|3|2|1|
14+
|10|5|0|
15+
16+
## 입출력 예 설명
17+
### 입출력 예 #1
18+
`num1`이 3, `num2`가 2이므로 3을 2로 나눈 나머지 1을 return 합니다.
19+
### 입출력 예 #2
20+
`num1`이 10, `num2`가 5이므로 10을 5로 나눈 나머지 0을 return 합니다.
21+
22+
## 나의 풀이
23+
```js
24+
function solution(num1, num2) {
25+
let answer = num1 % num2;
26+
return answer;
27+
}
28+
```
29+
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# 배열의 평균값
2+
3+
## 문제 설명
4+
정수 배열 `numbers`가 매개변수로 주어집니다. `numbers`의 원소의 평균값을 return하도록 solution 함수를 완성해주세요.
5+
6+
## 제한사항
7+
- 0 ≤ `numbers`의 원소 ≤ 1,000
8+
- 1 ≤ `numbers`의 길이 ≤ 100
9+
- 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.
10+
11+
## 입출력 예
12+
|numbers|result|
13+
|----------|----------|
14+
|[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]|5.5|
15+
|[89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]|94.0|
16+
17+
## 입출력 예 설명
18+
### 입출력 예 #1
19+
- `numbers`의 원소들의 평균 값은 5.5입니다.
20+
### 입출력 예 #2
21+
- `numbers`의 원소들의 평균 값은 94.0입니다.
22+
23+
## 나의 풀이
24+
```js
25+
function solution(numbers) {
26+
let sum = 0;
27+
for(let i = 0; i < numbers.length; i++){
28+
sum += numbers[i];
29+
}
30+
let answer = sum/numbers.length;
31+
return answer;
32+
}
33+
```
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# 중앙값 구하기
2+
3+
## 문제 설명
4+
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 `array`가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.
5+
6+
## 제한사항
7+
- `array`의 길이는 홀수입니다.
8+
- 0 < `array`의 길이 < 100
9+
- -1,000 < `array`의 원소 < 1,000
10+
11+
## 입출력 예
12+
|array|result|
13+
|---------|----------|
14+
|[1, 2, 7, 10, 11]|7|
15+
|[9, -1, 0]|0|
16+
17+
## 입출력 예 설명
18+
### 입출력 예 #1
19+
- 본문과 동일합니다.
20+
### 입출력 예 #2
21+
- 9, -1, 0을 오름차순 정렬하면 -1, 0, 9이고 가장 중앙에 위치하는 값은 0입니다.
22+
23+
## 나의 풀이
24+
```js
25+
function solution(array) {
26+
array.sort((a, b) => a - b);
27+
let answer = array[parseInt(array.length/2)];
28+
return answer;
29+
}
30+
```
31+
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# 짝수는 싫어요
2+
3+
## 문제 설명
4+
정수 `n`이 매개변수로 주어질 때, `n` 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.
5+
6+
## 제한사항
7+
- 1 ≤ `n` ≤ 100
8+
9+
## 입출력 예
10+
|n|result|
11+
|---|---------------|
12+
|10|[1, 3, 5, 7, 9]|
13+
|15|[1, 3, 5, 7, 9, 11, 13, 15]|
14+
15+
## 입출력 예 설명
16+
### 입출력 #1
17+
- 10 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9]를 return합니다.
18+
### 입출력 #1
19+
- 15 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9, 11, 13, 15]를 return합니다.
20+
21+
## 나의 풀이
22+
```js
23+
function solution(n) {
24+
let answer = [];
25+
for (let i = 1; i <= n; i++){
26+
if (i%2 != 0){
27+
answer[Math.ceil(i/2) - 1] = i
28+
}
29+
}
30+
return answer;
31+
}
32+
```
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# 최빈값 구하기
2+
3+
## 문제 설명
4+
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 `array`가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.
5+
6+
## 제한사항
7+
- 0 < `array`의 길이 < 100
8+
- 0 ≤ `array`의 원소 < 1000
9+
10+
## 입출력 예
11+
|array|result|
12+
|-------|-------|
13+
|[1, 2, 3, 3, 3, 4]|3|
14+
|[1, 1, 2, 2]|-1|
15+
|[1]|1|
16+
17+
## 입출력 예 설명
18+
### 입출력 예 #1
19+
- [1, 2, 3, 3, 3, 4]에서 1은 1개 2는 1개 3은 3개 4는 1개로 최빈값은 3입니다.
20+
### 입출력 예 #2
21+
- [1, 1, 2, 2]에서 1은 2개 2는 2개로 최빈값이 1, 2입니다. 최빈값이 여러 개이므로 -1을 return 합니다.
22+
### 입출력 예 #3
23+
- [1]에는 1만 있으므로 최빈값은 1입니다.
24+
25+
## 나의 풀이
26+
```js
27+
function solution(array) {
28+
let set = new Set(array); // array에서 중복 제거
29+
let setArr = Array.from(set); // 중복 제거한 배열 setArr
30+
let count = [] // 각 원소별 빈도를 기록하기 위한 배열 count 생성
31+
32+
for(let k = 0; k < setArr.length; k ++) {
33+
count[k] = 0; // 배열 count 0으로 초기화
34+
}
35+
36+
for(let i = 0; i < setArr.length; i++) {
37+
for(let j = 0; j < array.length; j++) {
38+
if (setArr[i] == array[j]) {
39+
count[i] += 1; // 각 원소별 중복될 때 마다 숫자를 카운트
40+
}
41+
}
42+
}
43+
44+
let counted = 0; // 가장 많은 빈도수를 저장하기 위한 변수
45+
for (let l = 0; l < count.length; l ++){ // 가장 많은 빈도수를 저장
46+
if (counted < count[l]){
47+
counted = count[l];
48+
}
49+
}
50+
51+
let counts = 0; // 가장 많은 빈도수가 유일한지 확인
52+
for (let m = 0; m < count.length; m ++){
53+
if (counted == count[m]) {
54+
counts += 1;
55+
}
56+
}
57+
58+
if (counts > 1){
59+
return -1;
60+
}
61+
else if(array.length == 1){ // 배열의 크기가 1이라면 그 원소 하나가 최빈값
62+
return array[0];
63+
}
64+
else{
65+
for (let n = 0; n < count.length; n++){
66+
if (count[n] == counted){
67+
return setArr[n];
68+
}
69+
}
70+
}
71+
}
72+
```

0 commit comments

Comments
 (0)