Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions 지민/week10/12939.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// Level 2 - 최댓값과 최솟값
function solution(s) {
let strings = s.split(""); //여기에 공백 기준으로 split 안 해서 틀림
let maxStr = Math.max(...strings);
let minStr = Math.min(...strings);

return minStr, maxStr;
}

// 정담 - split 기준 잘 설정하기!
function solution(s) {
const arr = s.split(" ");

return Math.min(...arr) + " " + Math.max(...arr);
}
30 changes: 30 additions & 0 deletions 지민/week10/12951.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
//Level 2 - JadenCase 문자열 만들기
//for ...in에서는 객체의 키와 값을 받기 때문에 배열을 돌리면 index를 반환한다.
//또한, toUpperCase는 원본을 바꾸지 않는다. 그리고 문자열을 인덱스로 수정 불가하다.
function solution(s) {
let lowStr = s.toLowerCase();
let strs = lowStr.split(" ");
for (let word in strs) {
word[0].toUpperCase();
}
return strs.join(" ");
}

//다른 풀이
function solution(s) {
return s
.split(" ")
.map((v) => v.charAt(0).toUpperCase() + v.substring(1).toLowerCase())
.join(" ");
}

function solution(s) {
let lowStr = s.toLowerCase();
let strs = lowStr.split(" ");

for (let i = 0; i < strs.length; i++) {
strs[i] = strs[i].charAt(0).toUpperCase() + strs[i].slice(1);
}

return strs.join(" ");
}
32 changes: 32 additions & 0 deletions 지민/week10/178871.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
//Level 1 - 달리기 경주
//시간 초과 발생한 풀이 - players가 길어졌을 때 느려진다.
//이름별 index를 object로 만들어서 찾으시면 시간초과 이슈 해결 가능하다고 함.
function solution(players, callings) {
for (i = 0; i < callings.length; i++) {
const idx = players.indexOf(callings[i]);
players[idx] = players[idx - 1];
players[idx - 1] = callings[i];
}
return players;
}

// 다른 풀이
function solution(players, callings) {
let idx;
let name1;
let name2;
const idxList = {};

players.forEach((name, index) => (idxList[name] = index));
for (let call of callings) {
idx = idxList[call];
name1 = players[idx];
name2 = players[idx - 1];
idxList[call] -= 1;
idxList[name2] += 1;
players[idx] = name2;
players[idx - 1] = name1;
}

return players;
}
19 changes: 19 additions & 0 deletions 지민/week9/12921.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// Level 1 - 소수 찾기
// 다른 풀이 - 에라토스테네스의 체
function solution(n) {
const s = new Set();
for (let i = 1; i <= n; i += 2) {
s.add(i);
}
s.delete(1);
s.add(2);
// 배수들 삭제
for (let j = 3; j < Math.sqrt(n); j++) {
if (s.has(j)) {
for (let k = j * 2; k <= n; k += j) {
s.delete(k);
}
}
}
return s.size;
}