본문 바로가기

전체 글170

[항해 99 주특기 주차 1일차] 오늘 나는 리엑트와 관련된 항해 99 프로그램을 들었다. 나는 이 프로그램을 들으면서 가장 궁금했던 점이 컴포넌트 & 렌더링이었다. 즉 자세히 말하자면 리엑트가 없었을 때는 DOM을 직접 수정함으로써 동적인 UI를 만들었다. 하지만 리엑트가 오면서 선언적 프로그래밍으로 이 단점을 해결했다고 한다. 나는 여기서 이 단점을 해결한 방법이 궁금했어서 오늘은 그 방법에 대해서 알아볼려고 한다. 그리고 추가적으로 리엑트 렌더링 , 브라우저 렌더링에 대해서도 설명하겠다. 1. 리엑트의 내부 원리 리엑트가 DOM을 직접 수정하지 않고 어떻게 DOM을 바꿀까? 그 해답에는 virtual dom이라는 개념이 있다. virtual dom이란 가상의 돔으로 리엑트의 핵심 기술중 하나이다. 자세한 설명은 내가 쓴 블로그 주소.. 2023. 6. 23.
[항해 99 알고리즘 주차 5일차] 오늘 나는 항해 99 입학시험을 치렀다. 알고리즘 테스트가 정말 오랜만이라서 약간의 긴장감이 돌았다. 특히 문제 중에 상 문제가 있어서 더 당황했다. 그래서 나는 하 중 문제를 검토까지 철저하게 하고 나서 시간이 남으면 상 문제를 푸는 형식으로 전략을 잡았다. 최종적으로는 모든 문제를 풀 수 있었다. 문제를 풀고 나니 다른 사람은 어떻게 풀었는지 굉장히 궁금해졌다. 그래서 오늘은 내가 푼 문제들의 한에서 리뷰를 진행할까 한다. 1. 자연수 뒤집어 더하기(하) https://teamsparta.notion.site/Javascript-99eab3ea620541dd9fd308803e65d91c Javascript 알고리즘 동료 코드 문제 1 teamsparta.notion.site function solut.. 2023. 6. 22.
==과 ===의 차이점에 대하여... 1. == 값만 비교한다.(즉 타입은 비교하지 않고 값 자체로만 비교를 한다.) console.log("3" == 3); //true 2. === 값과 타입 둘다 비교한다.(즉 값은 같은데 타입이 다르면 false를 출력) console.log("3" === 3); //false 2023. 6. 21.
[항해99 프로그래밍 알고리즘 4일차] 오늘은 팀원들과 3문제를 집중공략했다. 여기서 왜 하필 3문제 밖에 안 했나고 질문이 들어올 수 있다. 여기서 내가 3문제 밖에 안한 2가지 이유가 있다. 1. 그동안 충분히 많은 문제를 풀어서 사실상 시간 투자 및 성과가 나올 수 있는 문제가 3문제라서 2. 그 나머지 3문제가 가장 난이도가 높은 문제라서 그래서 오늘은 내가 팀원들과 리뷰를 하면서 느낀 점에 대해 리뷰를 진행할 것이다. 나는 오늘 팀원들과 리뷰를 하면서 가장 좋았던 점은 내가 생각하지 못한 풀이를 볼 수 있었다는 점이다. 만약 내가 혼자서 알고리즘을 풀었다면 나는 내 생각에만 국한된 풀이를 계속 써내려 갔을 것이다. 하지만 다른 팀원들과 코드리뷰를 하면서 내가 생각하지 못한 방법들을 떠올리게 되고 그로 인해서 내 생각의 폭이 넓어질 수.. 2023. 6. 21.
프로그래머스 체육복 자바스크립트 https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(n, lost, reserve) { var answer = 0; let realLost=lost.filter((l)=>!reserve.includes(l)); let realReserve=reserve.filter((r)=>!lost.includes(r)); answer = n-realLost.length; realLost.sort((a,b)=>a-b); realL.. 2023. 6. 21.
프로그래머스 폰켓몬 자바스크립트 https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(nums) { let numLen = parseInt(nums.length / 2) let setNums = [...new Set(nums)] answer = setNums.slice(0,numLen).length return answer; } function solution(nums) { const max = nums.length / 2; const arr = [... 2023. 6. 21.