목록분류 전체보기 (259)
차근차근
0. 제목 백준 9461 파도반 수열 BOJ 9461 파도반 수열 C++ 9461 파도반 수열 1. 문제 https://www.acmicpc.net/problem/9461 2. 풀이 점화식을 찾으면 쉽게 풀리는 문제이다. 두가지 점화식으로 풀리는데 다음과 같다. dp[i] = dp[i-2] + dp[i-3] dp[i] = dp[i-1] + dp[i-5] 두가지 중 하나로 코드를 짜면 정답이다. 3. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include using namespace std; int main(int argc, const char * argv[]) { int T, N; long int dp[101] = {0}; cin >> ..
0. Extending the Schema GraphQL Playground는 다음과 같다. 왼쪽 : Query를 보냈고 Query에는 name을 넣었다. 오른쪽 : GraphQL이 내 서버에서 Query에 맞는 Resolvers를 찾는다. 그래서 GraphQL Playground는 뭘까? Playground는 graphql-yoga에 따라오는 건데 나의 Database를 테스트하게 해주는 것이다. 그게 playground가 하는 일의 전부이다. Query는 JSON data 같은 것이다.이것을 어디론가 보내야 하는데 그것을 POST라고 한다. Query들, Mutation들 모두 항상 POST로 보내야 한다. 왜냐하면, 서버가 받아야 하기 때문이다. 이제 좀 더 확장시킨 예를 보겠다. 다음과 같이 Ob..
0. GraphQL이란? Graph QL(이하 gql)은 Structed Query Language(이하 sql)와 마찬가지로 쿼리 언어이다. 하지만 gql과 sql의 언어적 구조 차이는 매우 크다. 또한 gql과 sql이 실전에서 쓰이는 방식의 차이도 매우 크다. gql과 sql의 언어적 구조 차이가 활용 측면에서의 차이를 가져왔다. sql은 데이터베이스 시스템에 저장된 데이터를 효율적으로 가져오는 것이 목적이고, gql은 웹 클라이언트가 데이터를 서버로 부터 효율적으로 가져오는 것이 목적이다. sql의 문장(statement)은 주로 백앤드 시스템에서 작성하고 호출 하는 반면, gql의 문장은 주로 클라이언트 시스템에서 작성하고 호출 한다. GraphQL은 Backend개발을 쉽게 만들어 준다. Pr..
0. 제목 백준 1167 트리의 지름 BOJ 1167 트리의 지름 C++ 1167 트리의 지름 1. 문제 https://www.acmicpc.net/problem/1167 2. 풀이 두점 사리의 거리 중 가장 먼 것을 찾아야 하므로 한점을 잡고 그 점으로부터 가장 먼 점을 먼저 찾는다. 찾은 가장 먼 점을 기준으로 잡고 또 다시 그곳으로부터 가장 먼 점을 찾는다. 위와 같은 아이디어를 가지고 시작해보겠다. vector 원소의 자료형으로 pair로 설정하였는데, first에는 연결된 정점, second에는 거리를 저장하였다. 가장 먼 점을 구해야 하기 때문에 bfs를 사용하였다. 기준점으로부터의 거리를 저장하는 dist배열을 만든 후 bfs로 한단계를 거칠때마다 그 거리를 더해준 후 저장한다. 첫번째 bf..
0. 제목 백준 11725 트리의 부모 찾기 BOJ 11725 트리의 부모 찾기 C++ 11725 트리의 부모 찾기 1. 문제 https://www.acmicpc.net/problem/11725 2. 풀이 DFS를 이용하였다. 먼저, vector를 이용해 양방향으로 모두 연결시켜주었다. DFS를 하면서 나아가려는 방향의 노드가 아직 방문하지 않은 상태라면 그 노드를 탐색하게 되고 그와 동시에 방금 있었던 노드를 새로 간 노드의 부모로 설정해주었다. 루트가 1이므로 1부터 DFS를 실시하고 2번 노드의 부모부터 차례로 출력해주면 된다. 3. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ..
0. HTML 엘리먼트와 네이티브 컴포넌트의 유사성 리액트 네이티브에서는 HTML 엘리먼트를 사용하지 않고, 이와 매우 유사하면서 다양한 컴포넌트를 사용한다. HTML 리액트 네이티브 div img span, p ul/ol, li , 자식 아이템 이 엘리먼트들은 비록 서로를 대체할 수는 없지만 아주 비슷한 용도로 쓰인다. 1. 컴포넌트 텍스트 렌더링은 매우 기본적인 기능이다. HTML에서는 다양한 엘리먼트(, 등)로 텍스트를 표시할 수 있다. 리액트 네이티브에서는 컴포넌트만이 플레인 텍스트 노드를 자식으로 가질 수 있다. 리액트 네이티브에서 컴포넌트를 다룰 때는 , 같은 하위 태그를 사용할 수 없으나 fontWeight, fontStyle 속성을 이용하여 비슷한 효과를 낼 수 있다. 리액트 네이티브에서 ..
0. 환경설정 리액트 네이티브 개발 환경 설정 방법은 크게 두 가지로 나눌 수 있다. 하나, 매우 빠르고 쉽게 설정이 가능한 Create React Native App이라는 도구를 사용하는 방법이다. 둘, 아주 전형적인 방법으로 리액트 네이티브와 그 dependency까지 모두 설치하게 되는 방법이다. 1. 개발 환경 설정: Create React Native App Create React Native App은 Xcode나 안드로이드 스튜디오를 설치할 필요 없이 리액트 네이티브 앱을 생성하고 실행할 수 있게 해주는 커맨드 라인 도구이다. npm을 이용하여 create-react-native-app 패키지를 설치한다. 리액트 네이티브는 npm을 이용하여 dependency를 설치한다. npm install..
0. 제목 백준 2869 달팽이는 올라가고 싶다 BOJ 2869 달팽이는 올라가고 싶다 C++ 2869 달팽이는 올라가고 싶다 1. 문제 https://www.acmicpc.net/problem/2869 2. 풀이 제한시간이 짧기 때문에 for문으로 풀면 시간초과가 나온다. 다른 방식 풀이는 다음과 같다. 하루에 A-B 만큼 올라갈 수 있다. 도달하는 날에는 미끄러질 필요가 없는 것을 고려하여 식을 세운다. V-A 만큼 가면 도착이다. 따라서 V-A까지 A-B 씩 가는 것이다. V-A가 A-B로 나누어 떨어지지 않으면 높이에서 하루 가는 거리를 나눈 값에서 하루를 더해주고 나누어 떨어지면 그대로 높이에서 하루 가는 거리를 나눈 값을 출력해준다. 3. 코드 1 2 3 4 5 6 7 8 9 10 11 12 ..
0. 제목 백준 11651 좌표 정렬하기 2 BOJ 11651 좌표 정렬하기 2 C++ 11651 좌표 정렬하기 2 1. 문제 https://www.acmicpc.net/problem/11651 2. 풀이 vector의 sort기준인 comp함수식만 잘 세우면 되는 문제이다. 좌표쌍을 vector에 넣어줘야 하므로 make_pair를 사용하였다. 3. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 #include #include #include using namespace std; typedef pair P; int N; vector v; bool comp(P a, P b){ if(a...
0. 정적인 웹페이지 만들기 Redux를 도입하기전 간단한 웹페이지를 만든다. 1. 부품화 각각의 기능에 대해 모듈화를 시킨다. 2. store 생성과 state 사용하기 store를 생성하고 state를 사용한 코드이다. 결과는 처음과 같지만 reducer내부에 있는 contents의 내용을 바꾸면 그에 해당하는 코드들이 전부 바뀐다는 점이 다르다. 3. action을 dispatch를 통해서 전달하기 store의 state값을 변경하기 위해서 action을 발생시키고 action이 dispatch를 통해서 reducer를 실행시키면 state의 새로운 값을 return 한다. state값이 바뀌면 subscribe하고 있는 함수들을 호출해줌을 통해서 ui가 업데이트된다. event.preventDef..