2024/09/11 4

[React] 함수형 컴포넌트와 클래스형 컴포넌트

React에서 컴포넌트는 사용자 인터페이스를 구축하는 기본 블록을 말한다.컴포넌트는 크게 함수형 컴포넌트와 클래스형 컴포넌트로 나눌 수 있다. 1. 함수형 컴포넌트 (Functional Component)자바스크립트 함수로 정의된 컴포넌트를 말한다.특징상태(state)와 생명주기 메서드가 없었으나 React 16.8에서 도입된 Hooks를 사용하여 함수형 컴포넌트에서도 상태 관리와 생명주기 관련 기능을 사용할 수 있다.코드가 더 간결하고 이해하기 쉽다.사이드 이펙트 없이 순수 함수처럼 사용될 수 있다.this 키워드를 사용하지 않는다.컴포넌트 로직을 분리하기 쉽고 테스트가 용이하다.메모리 사용이 더 효율적이다.예시import React from 'react';const MyComponent = (prop..

[Python] 1463번 1로 만들기, 그림 설명, 자세한 설명

✏️ 문제 문제 파악문제에서 나온 연산은 3가지이다.3으로 나누어 떨어지면 3 배수로 가는 방법2로 나누어 떨어지면 2 배수로 가는 방법1 차이로 가는 방법연산하는 횟수의 최솟값을 구하므로 해당 값으로 가는 3가지 방법 중 연산이 최소로 되는 값을 출력해야 한다.위의 그림을 기준으로 코드를 짜면 된다.  알고리즘다이나믹 프로그래밍   코드n = int(input())d = [0] * (n + 1) for i in range(2, n + 1): d[i] = d[i - 1] + 1 # 1 차이로 가는 방법, 3번 방법 if i % 3 == 0: d[i] = min(d[i], d[i // 3] + 1) # 3번 방법으로 나온 값과 1번 방법으로 나온 값 중 최솟값을 대입 if i % 2 == 0:..

PS/백준 2024.09.11

[Python] 11053번 가장 긴 증가하는 부분 수열

✏️ 문제 문제 파악처음에는 이중 반복문을 쓸 생각을 못했어서 너무 헤맸다 ㅠㅠㅠ 얼마나 더 풀어야 다이나믹을 쉽게 풀거니!! 이 문제는 단순히 현재 요소에서 앞뒤 요소들과만 비교해야하는 것이 아니라 현재 요소를 기준으로 이전 모든 요소와 현재 요소를 비교해야 하는 문제이다. 특히 기준을 맨 앞 요소로 잡으면 절대 안됨. 맨 앞 요소를 기준으로 삼는다는 말이 전혀 없기 때문!이전의 모든 요소와 비교했을 때 현재 요소가 제일 크면 부분 수열의 요소로 추가할 수 있다. 문제 파악을 기준으로 풀이해보면 다음과 같다.dp는 가장 긴 증가하는 부분 수열의 길이를 저장한다. ary[j]는 ary[i] 이전의 모든 요소를 거쳐가는 변수이다.ary[i] > ary[j] : 현재 요소 ary[i]가 이전 요소들보다 크다..

PS/백준 2024.09.11

[Python] 1149번 RGB거리, 문제 완벽 분석!! 그림 설명

✏️ 문제 문제 파악조건이 3가지가 있는데 축약해보면 n번 집은 n-1의 집과 색만 같지 않으면 된다. n-1의 집과 n+1의 집의 색은 같아도 상관없다.이전 집의 색만 겹치지 않는 걸 조건으로 문제를 풀이하면 다음과 같다.ary 배열은 하나의 집에 대한 색 비용을 각각 담은 배열이고 dp 배열은 하나의 집에 대한 최소 색 비용의 총 합을 담은 배열이다. 다음 집의 색은 현재 선택할 색의 비용과 다음 선택할 색의 비용의 합이 최소로 되는 것으로 선택해야 한다.이게 무슨 말이냐면 dp 배열의 2행 색을 선택할 때 최소 비용을 고르려고 한다면 1번째 집이 R을 선택했을 시 경우의 수는 2가지R-G : 26 + 60 = 86 R-B : 26 + 57 = 83G와 B 중에 최소인 B를 선택할 것이므로 R-B값을..

PS/백준 2024.09.11