본문 바로가기

전체 글159

얕은 복사, 고차원의 깊은 복사 깊은 복사 vs 얕은 복사 우선 자바스크립트의 자주 쓰이는 타입들을 살펴보자. 복사의 차원에선 자바스크립트의 타입을 참조형과 기본형으로 나눌 수 있다. 값과 주소로 이루어진 참조형과 값 자체인 원시형 기본형 타입으로 나누어진다. 참조형 (Reference type) : 값 - 주소로 이루어짐. object (array 포함) function 기본형 (Primitive type) : 값 자체 number string boolean (true/false) null / undefined symbol 얕은 복사(Shallow Copy) 얕은 복사는 '주소'만 복사한다. 기본 타입은 주소가 없기 때문에 그 값을 복사한다. 문제는 참조형이 주소만 복사하기 때문에 원본이 변하면, 복사된 값도 변화한다는 것이다. 반대.. 2021. 7. 31.
2021.7.30 TIL (보이는 학생, 가위바위보, 점수구하기, 등수구하기) 문제) 보이는 학생 선생님이 학생을 일렬로 세웠을 때, 맨 앞에 서있는 선생님이 볼 수 있는 학생의 수를 구하기. 키의 숫자 배열이 주어진다. [100, 120, 110, 120, 130, 105] => 1+ 1+ 0 + 0 + 1 + 0 = 3 function solution(numbers) { let answer; // code here; return answer; } 해답) function solution(numbers) { let answer = 0, max = Number.MIN_SAFE_INTEGER; for (let num of numbers) { if (max < num) { answer++; max = num; } } return answer; } 문제) 가위바위보 두 배열이 주어졌을 때.. 2021. 7. 30.
2021.7.28 TIL (중복문자 제거, 배열 큰 수 출력) 문제) 소문자로 이뤄진 단어에서 중복 단어를 제거하여 문자 순으로 출력 예시) 'hahojajo' -> 'haoj' function findDuplicates(str) { let answer; // code here; return answer; } 해답) indexOf 이용 : indexOf(string) 매소드는 string이 포함된 첫번째 인덱스를 리턴. function findDuplicates(str) { let answer = ''; for(let i = 0; i < str.length; i++) { if(str.indexOf(str[i]) === i) { answer += str[i] } }; return answer; } 다른 해답) includes 이용 function findDuplica.. 2021. 7. 28.
2021.7.26 TIL 대문자 -> 소문자 치환, 중간 문자 출력 문제) 대문자 -> 소문자로, 소문자 -> 대문자로 function change(str) { let answer; // code here; return answer; }; 해답 1) function change(str) { let answer = ''; for (let el of str) { if(el === el.toUpperCase()) { answer += el.toLowerCase(); } else { answer += el.toUpperCase(); } }; return answer; }; 해답 2) 아스키코드 이용 대문자 65 ~ 92, 소문자 97 ~ 122 인 것에서 착안. 'A'.charCodeAt()은 65, 'a'.charCodeAt()은 97 즉, 차가 32임을 이용한다. funct.. 2021. 7. 26.
Emily in Paris season1. 7 A little retail therapy before work? retail therapy : 금융 치료 같은 느낌? You can count on me to make sure everything runs smoothly, while you're gone. count on = rely on = depend on ; 믿어도 돼 make sure : 확실하다는 것을 강조할 때 입버릇 처럼 자주 쓰임 smoothly : 순조롭게 Well.. given (that) there's an American actress hosting the event, I just think you should be utilizing the American in your office. given that ~ : ~임을 생각해볼 때.. 2021. 7. 26.
2021.7.25 TIL (문자열 치환, 대문자 개수 파악 알고리즘) 문제 ) 'A'를 '#'으로 변환한 문자열을 출력 할 것 function changeSharp (str) { let answer; // code here return answer; } 해답 1 ) function changeSharp (str) { let answer = ''; for(let el of str) { //문자도 for...of~ 구문을 쓸 수 있다 if (el === 'A') { answer += '#'; } else { answer += el; } }; return answer; } 해답 2) function changeSharp (str) { let answer = str; answer = answer.replace(/A/g, '#'); // g가 없을 경우 A가 여러 개 있어도 첫 번.. 2021. 7. 26.
베트남 호치민, 코로나 현황 (4000여명 / 일) 베트남 호치민 코로나 확진자 수가 좀처럼 줄지 않고 있습니다. 일 평균 4000여 명을 꾸준히 넘기고 있으며, 이에 따라 베트남 내 거주하는 한국인 감염자 수도 조금씩 증가하고 있습니다. 오늘 오후 25일 기준 한인 확진자는 19명으로 알려지고 있습니다. 베트남 내 한국인 확진자가 발생함에 따라 한국인 확진자들끼리 모아놓은 격리소를 따로 마련해달라는 요청이 쇄도하고 있습니다. 현재까지 남부 지역을 대상으로 하는 한국인 확진자 격리소는 따로 마련되지 않고 있으며, 영사관과 한인회 측 입장은 베트남 정부에 요청하고 있으나 베트남 감염법 상 한국인만 따로 분리하여 격리하는 격리소는 안된다는 베트남 정부 말과 크게 다르지 않습니다. 현재 증상이 경미한 확진자의 경우 학교, 군대시설, 버려진 아파트 시설, 대학교.. 2021. 7. 26.
2021.7.23 TIL (일곱난쟁이 알고리즘 해답) 일곱 난쟁이 문제 백설공주의 일곱 난쟁이 키의 합은 100이다. 갑자기 9명의 난쟁이가 서로를 백설공주의 난쟁이라 주장하고 있는 상황. 7명의 난쟁이를 키의 순서대로 나열한 배열을 출력할 것. 답이 여러 개 일 경우, 하나의 배열만 출력하면 된다. 예시 ) let numbers = [20, 7, 23, 19, 10, 15, 25, 8, 13]; // expected = [20, 7, 23, 19, 10, 8, 13]; 문제 ) function findMyDwarfs(numbers) { let answer; // solution here return answer; } 나의 답 ) 1. 난쟁이들의 키의 합을 모두 더한 후, 2명 거짓말쟁이들의 키의 합을 알아낸다. 2. 난쟁이들을 한 명씩 키를 돌아가며, 거.. 2021. 7. 23.