본문 바로가기

전체 글143

[DFS/BFS] 프로그래머스 타겟 넘버 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(numbers, target) { let answer = 0; dfs(0, 0); // js dfs function dfs(level, sum) { // dfs는 level과 sum 두 매개변수를 받는다 // level: 현재 고려 중인 숫자의 인덱스 // sum: 현재 지점까지의 누적 합계 if(level === numbers.length) { if(sum ===.. 2023. 8. 16.
state vs props 데이터 조각 1. 원래 제품 목록 2. 사용자가 입력한 검색 텍스트 3. 체크박스의 값 4. 필터링된 제품 목록 이 중 상태는? props 시간이 지나도 변함이 없는 것 -> props 소품을 통해 부모로부터 전달 -> props 구성 요소의 기존 상태 또는 소품을 기반으로 계산 -> props 제품의 원래 목록 -> props로 전달되므로 상태가 아님 검색 텍스트 -> 시간이 지남에 따라 변경되고 어떤 것에서도 계산할 수 없기 때문에 상태 확인란의 값 -> 시간이 지남에 따라 변경되고 어떤 것에서도 계산할 수 없기 때문에 상태 필터링된 제품 목록 -> 원래 제품 목록을 가져와서 검색 텍스트 및 확인란의 값에 따라 필터링하여 계산할 수 있기 때문에 상태가 아님 2023. 8. 6.
완전탐색-최소직사각형 예시 1) 최대값이 가로에 있는 경우 가로가 세로보다 큰 경우 (30, 70) -> 해당 값 서로 교환 처음에 구한 가로의 최대값 80과 교환한 뒤 세로의 최대값 50을 곱한게 정답 2) 최대값이 세로에 있는 경우 처음에 구한 세로의 최대값 15와 가로의 최대값 8을 곱한 게 정답 코드 function solution(sizes) { const width = []; const height = []; for(let i = 0; i < sizes.length; i++) { const max = Math.max(sizes[i][0], sizes[i][1]); const min = Math.min(sizes[i][0], sizes[i][1]); width.push(max); height.push(min); } .. 2023. 7. 30.
Typescript interface 클래스에서 interface 를 implements 하기 // Shape 라는 interface 를 선언합니다. interface Shape { getArea(): number; // Shape interface 에는 getArea 라는 함수가 꼭 있어야 하며 해당 함수의 반환값은 숫자입니다. } class Circle implements Shape { // `implements` 키워드를 사용하여 해당 클래스가 Shape interface 의 조건을 충족하겠다는 것을 명시합니다. radius: number; // 멤버 변수 radius 값을 설정합니다. constructor(radius: number) { this.radius = radius; } // 너비를 가져오는 함수를 구현합니.. 2023. 7. 28.