백준 11659. 구간 합 구하기4
·
백준
https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net import sys input = sys.stdin.readline N, M = map(int, input().split()) nums = list(map(int, input().split())) dp = [0] * (N + 1) dp[0] = 0 for i in range(1, N + 1): dp[i] = dp[i - 1] + nums[i - 1] for _ in rang..
백준 5635. 생일
·
백준
https://www.acmicpc.net/problem/5635 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net students = [] for i in range(int(input())): name,day,month,year = input().rstrip().split() day,month,year = map(int,(day,month,year)) students.append((year,month,day,name)) students.sort() print(students[-1][3]) print(students[0][3]) 두 가지의 for문과 continue를 이용한 첫 코드는 굉장..
DOM
·
Cs
🔷DOM(Document Object Model) 웹 문서의 구조를 나타내는 방식으로, 웹 페이지의 모든 요소(HTML 태그)를 객체로 표현하고, 이들 사이의 관계를 나타냄 🔶DOM의 핵심 - 트리 구조: DOM은 문서를 노드(node)의 계층적 트리로 표현. 이 트리는 문서의 구조, 스타일, 내용 등을 포함. 트리의 각 노드는 문서의 한 부분(요소, 속성, 텍스트 등)을 나타냄 - 노드(Node): DOM 트리의 기본 단위. ex) 요소 노드(Element Node), 텍스트 노드(Text Node), 속성 노드(Attribute Node) - 요소(Element): HTML 태그와 태그 사이의 내용을 포함하는 노드. ex) , , - 조작: JavaScript를 사용하여 DOM 요소를 동적으로 추가,..
useEffect의 의존성 배열
·
React
의존성 배열 없이 useEffect 사용 -> useEffect 내부의 콜백 함수는 컴포넌트가 렌더링될 때마다 실행됨! = 컴포넌트가 처음 마운트 될 때뿐만 아니라, 컴포넌트가 업데이트 될 때마다 useEffect가 호출되는 것! useEffect(() => { console.log('컴포넌트가 렌더링될 때마다 호출'); }); 빈 의존성 배열을 사용한 useEffect 사용 -> useEffect 내부의 콜백 함수는 컴포넌트가 처음 마운트될 때 딱 한 번만 실행됨! -> 컴포넌트가 다시 렌더링되어도, useEffect는 다시 실행되지 않음! useEffect(() => { console.log('컴포넌트가 처음 마운트될 때만 호출'); }, []); 의존성 배열에 변수를 포함시킨 경우 -> 해당 변수가..
useRef
·
React
❓ React에서 useRef을 사용하는 목적 2가지 1. 리액트에서 DOM 요소에 직접 접근해야 할 필요가 있을 때 -> 요소에 포커스를 주거나, 원시 DOM API를 사용해야 할 때 useRef를 사용. function TextInputWithFocusButton() { // input 엘리먼트에 접근하기 위한 ref를 생성합니다. const inputEl = useRef(null); // 버튼 클릭 시 input 엘리먼트에 포커스를 줍니다. const onButtonClick = () => { // `current` 프로퍼티가 실제 DOM 요소를 가리킵니다. inputEl.current.focus(); }; return ( {/* ref 속성을 통해 input 엘리먼트와 ref를 연결합니다. */}..
백준 12852. 1로 만들기2
·
백준
https://www.acmicpc.net/problem/12852 12852번: 1로 만들기 2 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 자연수 N이 주어진다. www.acmicpc.net ''' 2or3으로 나눠떨어지면 2or3으로 나눔 1을 뺌 최소 연산 횟수 1로 만드는 과정 공백으로 구분해서 순서대로 출력 ''' n = int(input()) dp = [0] * (n+1) # 각 숫자까지의 최소 연산 횟수 저장 prev = [0] * (n+1) # 직전 숫자들 저장(경로 추적용) for i in range(2, n+1): dp[i] = dp[i-1] + 1 # 1을 뺀 경우가 기본값 prev[i] = i - 1 if i % 2 == 0 and dp[i//2] + 1 < dp[i]:..