Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 6781bb9

Browse files
Revert "[17주차] 문제 풀이 추가 (#69)"
This reverts commit 24243d8.
1 parent 24243d8 commit 6781bb9

File tree

6 files changed

+1
-160
lines changed

6 files changed

+1
-160
lines changed

‎level-1/모의고사.js‎

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -108,28 +108,4 @@ function solution(answers) {
108108
if (score[i] === Math.max(...score)) answer.push(i+1)
109109
}
110110
return answer;
111-
}
112-
113-
//정답 5 - chaerin-dev
114-
function solution(answers) {
115-
const pattern = [
116-
[1, 2, 3, 4, 5],
117-
[2, 1, 2, 3, 2, 4, 2, 5],
118-
[3, 3, 1, 1, 2, 2, 4, 4, 5, 5],
119-
];
120-
const scores = [0, 0, 0];
121-
122-
answers.forEach((answer, i) => {
123-
for (let j = 0; j < pattern.length; j++) {
124-
const patternLength = pattern[j].length;
125-
if (answer === pattern[j][i % patternLength]) scores[j]++;
126-
}
127-
});
128-
129-
const answer = [];
130-
const maxScore = Math.max(...scores);
131-
scores.forEach((score, i) => {
132-
if (score === maxScore) answer.push(i + 1);
133-
});
134-
return answer;
135111
}

‎level-1/체육복.js‎

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -88,40 +88,3 @@ function solution(n, lost, reserve) {
8888
//그리디
8989
// lost 배열과 reserve 배열을 순회하여 체육복을 추가, 제거 해줍니다.
9090
// 그 후에 최종적으로 i부터 n까지 for문을 순회하며 i번쨰 학생과 i+1번째의 학생이 가진 체육복 수를 비교하여 빌려 줄 수 있는지, 빌려줄 수 없는지 확인 합니다.
91-
92-
//정답 4 - chaerin-dev
93-
function solution(n, lost, reserve) {
94-
// 학생들의 체육복 개수를 저장할 배열 students
95-
// 학생의 index가 1번부터 시작하므로 배열의 길이를 n+1로 설정
96-
// 0번 학생은 실제로는 없지만 초기값을 1로 설정하면 이후 연산에 영향을 미치지 않음
97-
const students = Array.from({ length: n + 1 }, () => 1);
98-
99-
// 체육복 분실/여분 정보 students 배열에 반영
100-
lost.forEach((lostStudent) => students[lostStudent]--);
101-
reserve.forEach((reserveStudent) => students[reserveStudent]++);
102-
103-
// 체육복이 없어 체육 수업을 들을 수 없는 학생 수를 저장할 변수 cnt
104-
let cnt = 0;
105-
students.forEach((student, i) => {
106-
// 현재 인덱스의 학생이 체육복이 없다면
107-
if (student === 0) {
108-
// 바로 앞 학생이 체육복 여분이 있다면
109-
if (students[i - 1] === 2) {
110-
// 바로 앞 학생에게 체육복 빌리기
111-
students[i - 1]--;
112-
student++;
113-
}
114-
// 바로 앞 학생에게 체육복을 빌리지 못했고, 바로 뒤 학생이 체육복 여분이 있다면
115-
else if (students[i + 1] === 2) {
116-
// 바로 뒤 학생에게 체육복 빌리기
117-
students[i + 1]--;
118-
student++;
119-
}
120-
// 바로 앞 학생과 바로 뒤 학생 모두에게 체육복을 빌리지 못했다면 체육 수업을 들을 수 없음
121-
else cnt++;
122-
}
123-
});
124-
125-
// 체육 수업을 들을 수 있는 학생 수 = 전체 학생 수 - 체육 수업을 들을 수 없는 학생 수
126-
return n - cnt;
127-
}

‎level-2/모음-사전.js‎

Lines changed: 0 additions & 30 deletions
This file was deleted.

‎level-2/위장.js‎

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -66,24 +66,4 @@ function solution(clothes) {
6666
2. obj에 해당 키가 없으면 값을 1(옷을 입지 않은 경우)로 지정하고 1(옷의 개수)을 더해줌.
6767
3. obj에 해당 키가 있으면 해당 키의 값을 불러오고 1을 더해줌.
6868
4. for in 구문으로 obj의 키를 반복하여 불러오고 해당 값을 answer에 곱해줌
69-
5. 최소한 1가지 이상의 옷을 입기 떄문에 옷을 입지 않은 경우 -1로 제외. */
70-
71-
//정답 5 - chaerin-dev
72-
function solution(clothes) {
73-
// 각 카테고리별 의상의 수를 clothsObj 객체에 저장
74-
const clothsObj = {};
75-
clothes.forEach((cloth) =>
76-
clothsObj[cloth[1]] ? clothsObj[cloth[1]]++ : (clothsObj[cloth[1]] = 1)
77-
);
78-
79-
// 어떤 카테고리의 옷의 개수가 n개라면, 스파이는 해당 카테고리에 대해 n+1가지 선택권을 가짐
80-
// (옷을 입지 않거나, 1번 옷을 입거나, 2번 옷을 입거나, ..., n번 옷을 입거나)
81-
// 즉, (각 카테고리의 옷의 개수 + 1)를 answer에 차례로 곱해주면 됨
82-
let answer = 1;
83-
for (let key of Object.keys(clothsObj)) {
84-
answer *= clothsObj[key] + 1;
85-
}
86-
87-
// 스파이는 하루에 최소 한 개의 의상은 입어야 하므로 아무것도 입지 않는 경우 빼기
88-
return answer - 1;
89-
}
69+
5. 최소한 1가지 이상의 옷을 입기 떄문에 옷을 입지 않은 경우 -1로 제외. */

‎level-2/튜플.js‎

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,4 @@ function solution(s) {
1010
.sort((a, b) => a.length - b.length)
1111
for (const set of sets) answer.push(...set.filter(x => !answer.includes(x)))
1212
return answer;
13-
}
14-
15-
//정답 2 - chaerin-dev
16-
function solution(s) {
17-
// 문자열 -> 정수 이차원 배열
18-
const sArr = s
19-
.substring(2, s.length - 2)
20-
.split("},{")
21-
.map((e) => e.split(",").map((e) => parseInt(e)))
22-
.sort((a, b) => a.length - b.length);
23-
// 정답을 저장할 배열
24-
const answer = [];
25-
// 이차원배열을 순회하며 직전 배열과 겹치지 않는 요소만 answer에 추가
26-
for (let i = 0; i < sArr.length; i++) {
27-
for (let j = 0; j < sArr[i].length; j++) {
28-
const temp = sArr[i][j];
29-
if (!answer.includes(sArr[i][j])) answer.push(sArr[i][j]);
30-
}
31-
}
32-
return answer;
3313
}

‎level-2/하노이의-탑.js‎

Lines changed: 0 additions & 28 deletions
This file was deleted.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /