오답 노트... 세 번째 이야기
나의 오답 노트 작성.. 여기 있는 것들은 대체로 이해가 가지만 좀 만 변형해서 나온다면 어떨까나..?(땀 좀 흘리겠습니다..)
첫 번째 문제
const arr = [1,1,3,3,0,1,1]
function solution(arr) {
return arr.filter((item, idx) => item !== arr[idx+1]); // item 순서와 arr+1에서의 순서를 서로 나열했을 때 중복되는 것을 제거하라
} // 1,1,3,3,0,1,1와 1,3,3,0,1,1,x x는 존재하지 않는 값
console.log(solution(arr)) // 1,3,0,1
두 번째 문제
const arr = "webstoryboy";
function solution(s) {
const answer = '';
return s.length % 2 == 1 ? s[s.length/2 | 0] : s.slice(s.length/2 - 1, s.length/2 + 1); // s의 갯수는 11개 11 나누기 2했을 때 1이라면, 삼향 연산자고 바로 성립이 되니 11/2 | 0(|0 이 문법은 정수로 반환) = 5 5번째 문자를뽑아라
}
console.log(solution(arr)); // o
세 번째 문제
const string = "webstoryboy";
function solution(s) {
const answer = ''; // 상수를 변하지 않으니 변수 let으로 바꿔줌
for(let i = s.length -1; i>=0; i--) { // -> 반대로 쓰기
answer = answer + s[i]; // '' + 반대로 쓴 걸 합쳐
}
return answer;
}
console.log(solution(string)) // yobyrotsbew
네 번째 문제
const num = [5,9,7,10];
function solution(arr) {
let sm = arr[0], index = 0;
for(i=0; i<arr.length; i++) {
if(arr[i] < sm) { // arr[i] 값중 sm 보다 작은게 있다면
sm = arr[i]; // sm은 arr[i]이다.
index = i; // i = 5
}
}
arr.splice(index, 1); // splice는 그 값을 제외한 걸 반환
return arr; // 답은 9,7,10
}
console.log(solution(num))
다섯 번째 문제
const num = "webstoryboy";
function solution(s) {
let answer = s.split(""); // s = webstoryboy이고 split"" 이니 각각 나눠줌 "w","e","b"..."y"
for(i=0; i<answer.length-4; i++) { // answer 갯수는 11개이며 거기에서 4를 뺸 값 7이고 <니깐 0~6까지
answer[i] = "*"; // 0~6까지 i값에르 *로 변환
}
return answer.join(""); // 답은 *******yboy
}
console.log(solution(num))
여섯 번째 문제
function solution(arr1, arr2) {
let answer = [];
arr1.sort(); // sort는 올바르게 정렬해라 그래서 arr1 = 1,2,3,5,9
arr2.sort(); // sort는 올바르게 정렬해라 그래서 arr2 = 2,3,5,7,8
let p1 = p2 = 0; // p1 p2는 0
while(p1 < arr1.length && p2 < arr2.length) {
if(arr1[p1] == arr2[p2]) { // 정렬한 수가 같을 때 한 칸씩 진행
answer.push(arr1[p1++]);
p2++
}
else if(arr1[p1] < arr2[p2]) p1++; // 한칸 씩 진행했을 때 p1 < p2 이면 한칸 씩
else p2++; // 아니면 p2를 한칸 씩 진행
}
return answer; // 답은 2,3,5
}
let a = [1,3,9,5,2];
let b = [3,2,5,7,8];
console.log(solution(a,b));
'EX' 카테고리의 다른 글
아마도..? 꼴찌의 오답 노트 이야기 두 번째 이야기 (1) | 2022.10.10 |
---|---|
아마도..? 꼴찌의 오답 노트 이야기 (5) | 2022.10.01 |
댓글