본문 바로가기
반응형

전체 글58

[React] props로 함수를 넘겨줄때 주의 할 사항 const [squares, setSquares] = useState(Array(9).fill(null));const handleClick = (i) => { const nextSquares =squares.slice(); nextSquares[i] = "X"; setSquares(nextSquares);};...위와 같이 함수를 인수로 전달하게 되면 작동하지 않는다. handleClick(0)은 setSquares를 호출하고 setSquares를 호출하면 App 컴포넌트의 state를 변경하는 것이기 때문에 App 컴포넌트가 '리렌더링'된다.  하지만 이 리렌더링 과정에서 다시 handleClick(0)은 호출되고 무한 루프에 빠진 것이다. 즉, handleClick(0)를 호출하는 것은 .. 2024. 7. 10.
[프로그래머스] 코딩테스트 입문 20문제 1. 최댓값 만들기(1)나의 풀이function solution(numbers) { var answer = 0; var max1 = 0; var max2 = 0; let len = numbers.length; var index = -1; for(let i = 0; i 다른 풀이function solution(numbers) { numbers.sort((a,b)=>b-a); return numbers[0]*numbers[1];}학습 내용sort() 함수는 시간 복잡도가 O(nlogn)이다. 나는 2개의 for문을 사용하였기에 시간복잡도가 O(n)이다. 만약 크기가 상당한 배열에 대해서 이 프로그램을 실행한다면 내가 작성한 코드가 더욱 효율적일 수 있을 것이다.2... 2024. 7. 10.
[React] Props로 데이터 전달하기 React에서는 페이지를 컴포넌트라는 단위로 나누어서 블록을 조립하는 것과 같이 개발합니다. 따라서 react로 어떤 사이트의 해더를 개발한다고 한다면 우리는 이를 컴포넌트로 나누어서 개발해야 할 것입니다. 만약 네이버의 해더를 구현한다고 가정해봅시다. 그렇다면 간력하게 먼저 Search 컴포넌트가 필요할 것 같습니다. 그리고 그 밑에 있는 이동 버튼 들은 아이콘만 다르고 다 똑같이 때문에 하나의 Button 컴포넌트를 이용하면 만들 수 있겠습니다. 그렇다면 각각의 버튼 컴포넌트가 하나는 메일, 하나는 카페, 하나는 블로그를 나타내야할 것입니다.  이를 위해서는 어떤 버튼을 렌더링할 것인지 결정하기 위해서는 우리는 각각의 버튼 컴포넌트에 값을 전달해 주어야 할 것입니다. 함수를 호출할 때 인수를 전달하는.. 2024. 7. 8.
[자료구조] 후위 수식(Postfix) 이번 포스팅에서는 후위 수식에 대해서 알아보겠습니다. 수식을 표현하는 방법은 크게 3가지가 있습니다. infix notation : a * b (연산자가 피연산자 사이에 위치합니다.) prefix nonation: * a b (연산자가 피연산자들 앞에 위치합니다.) postfix nonation: a b * (연산자가 피연산자들 뒤에 위치합니다.) 이 결과들은 모두 a와 b를 곱한 값을 의미합니다. 이중에서 우리에게 익숙한 방식은 infix notation일 겁니다. 하지만 infix notation은 약간의 단점이 존재합니다. 연산자들이 가지는 우선 순위가 있지 때문에 이에 맞춰서 연산을 해야한다는 문제점이 있습니다. 따라서 임의로 연산자의 우선순위를 조정하기 위해서는 괄호를 사용해야하는 번거로움이 생.. 2024. 4. 19.
[자료구조] 큐(Queue)... So cute... 안녕하세요. 오늘은 자료구조 큐에 대해서 알아보겠습니다. 큐는 스택과 비슷합니다. 하지만 작동하는 방식이 약간 다르고 스택의 탑과 바텀을 큐에서는 다른 말로 표현합니다. 스택에서 요소를 스택의 탑에 추가했던 것처럼 큐는 rear(or back)에서 요소를 추가합니다. 또한 요소의 삭제는 스택의 탑에서 일어났지만 큐는 front에서 일어납니다. 큐는 스택처럼 가장 먼저 입력된 데이터가 맨 아래 쌓이고 가장 나중에 입력된 데이터는 맨 위에 쌓이는 구조입니다. 하지만 스택에서처럼 입출력이 맨 위에서만 일어나지 않습니다. 위에서 설명드린바와 같이 입력은 rear 출력은 front에서 일어납니다. 이러한 구조를 FIFO(First in, First out)이라고 합니다. 먼저 들어온 녀석이 먼저 나간다는 것입니다.. 2024. 4. 19.
[C 언어] 13. 구조체 구조체는 서로 다른 데이터 타입들을 함께 모아 놓은 것입니다. 각각의 원소들을 member라고 부릅니다. 구조체의 선언은 다음과 같이 합니다. struct student { //struct student 타입 정의 int id; char name[10]; }; struct는 키워드 이고 student는 구조체의 이름입니다. 구조체의 타입은 여기서 struct student 타입으로 정의한 것입니다. 구조체를 선언하고, 구조체 변수를 한번에 선언할 수 있습니다. struct student { //sruct student 타입 정의 & 변수 선언 int id; char name[10]; } a1, a2, a3; 구조체를 선언함과 동시에 struct student 타입의 a1, a2, a3라는 구조체 변수는 .. 2024. 4. 14.
반응형