전체 글 (163) 썸네일형 리스트형 [BOJ / Node.js] 12100. 2048(Easy) 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 문제 2048 게임은 4×4 크기의 보드에서 혼자 즐기는 재미있는 게임이다. 이 링크를 누르면 게임을 해볼 수 있다. 이 게임에서 한 번의 이동은 보드 위에 있는 전체 블록을 상하좌우 네 방향 중 하나로 이동시키는 것이다. 이때, 같은 값을 갖는 두 블록이 충돌하면 두 블록은 하나로 합쳐지게 된다. 한 번의 이동에서 이미 합쳐진 블록은 또 다른 블록과 다시 합쳐질 수 없다. (실제 게임에서는 이동을 한 번 할 때마다 블록이 추가되지만,.. [C++] Sequence Container (Vector, Deque, List, Queue, Stack) iterator 포인터와 상당히 비슷하며, 컨테이너에 저장되어 있는 원소들을 참조할 때 사용 알고리즘 마다 각기 다른 방식으로 컨테이너를 훑어가기 때문에, 반복자에도 여러가지 종류가 있음. iterator는 실제 값이 없는 end() 위치를 가질 수 있다. iterator를 기반으로 하는 insert, erase 함수는 iterator 값을 반환한다 vector a; auto it = a.end(); for(int i = 0; i < 10; i++) { it = a.insert(it, i); // 요소 삽입 후 해당 지점의 iterator값을 반환 } for(it x: a) { cout [React] React 렌더링 최적화와 Hooks 렌더링이란? 리액트에서 렌더링이란 화면에 특정한 요소를 그려내는 것을 의미합니다. 브러우저에서 렌더링이란 DOM 요소를 계산하고 그려내는 것을 의미합니다. HTML과 CSS를 통해서 만들어지고 계산된 DOM과 CSSOM은 렌터 트리를 형성하고 최종적으로 브라우저에 그려지게 됩니다. 그리고 우리는 브라우저에서 제공하는 DOM API를 Javascirpt를 통해 호출하면서 그려진 화면을 변화시킵니다. 하지만 Vanilla Javascript를 이용하여 DOM에 직접 접근하고 수정하는 것(명령형), 그리고 이를 최적화하는 것은 애플리케이션의 규모가 커지면 커질수록 관리하기가 힘들어집니다. 그래서 애플리케이션에서 보여주고 싶은 핵심 UI를 "선언"하기만 하면 실제로 DOM을 조작해서 UI를 그래내고, 변화시키는.. [BOJ / Node.js] 23881. 알고리즘 수업 - 선택 정렬 1 23881번: 알고리즘 수업 - 선택 정렬 1 첫째 줄에 배열 A의 크기 N(5 ≤ N ≤ 10,000), 교환 횟수 K(1 ≤ K ≤ N)가 주어진다. 다음 줄에 서로 다른 배열 A의 원소 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 109) www.acmicpc.net 문제 오늘도 서준이는 선택 정렬 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. N개의 서로 다른 양의 정수가 저장된 배열 A가 있다. 선택 정렬로 배열 A를 오름차순 정렬할 경우 K 번째 교환되는 수를 구해서 우리 서준이를 도와주자. 크기가 N인 배열에 대한 선택 정렬 의사 코드는 다음과 같다. selection_sort(A[1..N]) { # A[1..N]을 오름차순 정.. [BOJ / Node.js] 1057. 토너먼트 1057번: 토너먼트 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 www.acmicpc.net 문제 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 한다. 이긴 사람은 다음 라운드에 진출하고, 진 사람은 그 라운드에서 떨어진다. 만약 그 라운드의 참가자가 홀수명이라면, 마지막 번호를 가진 참가자는 다음 라운드로 자동 진출한다. 다음 라운드에선 다시 참가자의 번호를 1번부터 매긴다. 이때, 번호를 매기는 순서는 처음 번호의 .. [BOJ / Node.js] 1182. 부분수열의 합 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net 문제 N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. 출력 첫째 줄에 합이 S가 되는 부.. [BOJ / Node.js] 1487. 물건 팔기 1487번: 물건 팔기 첫째 줄에 최대 이익을 만들어주는 가격을 출력한다. 이익이 최대인 가격이 여러개라면, 가장 낮은 가격을 출력한다. 또, 어떤 가격으로 팔아도 이익을 남길 수 없다면 0을 출력한다. www.acmicpc.net 문제 세준이는 오랜 연구기간 끝에 신상품을 내놓았다. 세준이는 오랜 시간이 걸린 만큼 이 상품을 최대 이익에 팔려고 한다. 세준이는 이 상품을 사려고 하는 사람들이 총 몇 명이나 되는지 알아봤다. 무려 N명이나 살 의향을 보였다. 각각의 사람은 자기가 지불할 생각이 있는 최대 한도가 있다. 따라서, 어떤 사람이 20원까지 지불할 생각이 있는데, 세준이가 가격을 30원으로 책정하면 이 사람은 절대 안 살 것이고, 15원으로 책정하면 이 사람은 이 상품을 15원에 살 것이다. (.. [CS] 아토믹 디자인이란 ? 아토믹 디자인(Atomic Design)은 디자인 요소를 구성하는 원자(Atoms), 분자(Molecules), 유기체(Organisms), 템플릿(Templates), 페이지(Pages)의 다섯 가지 계층으로 구분하고, 이를 조합하여 디자인 시스템을 구축하는 방법론입니다. 이 방법론은 디자인 요소를 단순한 형태로 분해하여 조립함으로써 확장성이 뛰어나고 일관된 디자인 시스템을 만들 수 있습니다. 1. Atoms(원자) 가장 작은 단위인 원자는 디자인 요소의 가장 기본적인 부분을 말합니다. 원자는 웹 인터페이스에서 적용되는 버튼, 입력 필드, 아이콘 등과 같이 다른 디자인 요소로 구성될 수 없는 가장 작은 단위입니다. 2. Molecules(분자) 분자는 원자들이 조합된 디자인 요소 입니다. 예를 들어 검.. 이전 1 ··· 5 6 7 8 9 10 11 ··· 21 다음