본문 바로가기

Computer Science

도움되는 기사들 '평범하되 위대하게' 개발자 생산성 습관 7가지 http://www.ciokorea.com/news/29950 더보기
[Algorithm] Sherlock and Array [Algorithm] Sherlock and Array [Problem] 길이가 N인 배열 A가 있다. 특정 위치 i의 원소에 대해서 좌/우의 부분 합이 같은 i를 찾아라. ex) A[0] + A[1] + . . . + A[i-1] = A[i+1] + A[i+2] + .... + A[n] 을 만족시키는 i [Solve] 1) i를 기준으로 좌/우의 합이 같아야 한다.초기 입력을 받을 시 입력 배열의 총 합을 같이 계산하여 중복 계산을 방지하였다. i를 기준으로 탐색 시, 탐색 대상을 줄이고자 i의 위치에 따라 좌/우 중에서 원소가 더 적은 쪽의 합을 계산하였다. 부분합을 계산 후 초기 입력 시에 계산 한 전체의 합의 1/2이 되는지를 체크한다. import java.io.*;import java.util.. 더보기
[Algorithm] Snakes and Ladders: The Quickest Way Up Snakes and Ladders: The Quickest Way Up [Problem] 1번 바닥에서 시작하여 100번 바닥에 도착하기 위해 최소한으로 몇 번을 이동해야 하는가 ? 조건 1. 주사위의 수는 원하는데로 나온다고 가정한다. 조건 2. 현재 위치에서 100을 넘어가게 되면 이동하지 않고 현재 자리에 가만히 있는다. 조건 3. 사다리 칸에 도착하면 밑에서 올라갈 수만 있고, 뱀을 만나면 머리에서 꼬리로만 이동이 가능하다.조건 4. 한 게임 칸은 사다리의 끝, 뱀의 머리가 동시에 될 수 없다. [Constraints] 게임판은 10x10이며 도착지점의 번호는 100이다. 총 테스트 케이스 T : 1 더보기
[React Router] Server Rendering React Router Server Rendering 기존에 React Router를 사용할 때 browserHistory를 사용했다. Router의 Route Component들로 인하여 초기 메인화면에 접속하면 모든 Component들이 만들어지고, route되는 경로에 맞는 Component들이 바뀌는 방식이었다. 이때, 화면을 새로고침 시 해당 URL로 http request가 전송되게 된다. 처음에 매우 당황스러웠다. 이를 해결하기 위해, server파일에 다음을 추가해준다. app.get('*', function (req, res) { res.sendfile(path.join(__dirname, '..', '..','home.html')) }) 서버로 요청되는 모든 요청에 대해서, 기본적으로 .. 더보기
[React Router] 08. Index Routes React Router 08. Index Routes소스코드 : https://github.com/reactjs/react-router-tutorial/tree/master/lessons/08-index-routes 초기 어플리케이션 방문 시 , React Route에 따라 빈 페이지가 나오게 됩니다.더이상 빈 페이지가 아니라, 초기 Home Component를 보여주고 싶습니다. 일단, Home Component를 만들어볼까요. // modules/Home.js import React from 'react' export default React.createClass({ render() { return Home } }) 기존의 App Component("/)에 다른 하위 Component가 있다면, Ho.. 더보기
[Algorithm] Grid Challenge Grid Challenge [Problem] 소문자로만 이루어진 2차원 배열 G가 있다. i행 j열의 원소를 G[i][j]라고 한다. 2차원 배열 G는 소문자로만 이루어져있다. 이 2차원 배열을 가지고 1가지의 연산만을 할 수 있다.G[i][j]와 G[i][j+1]의 두 원소를 SWAP할 수 있다. 이 때, 주어진 배열 G가 swap연산만을 사용하여 G[i][1]≤G[i][2]≤⋯≤G[i][N]G[i][1]≤G[i][2]≤⋯≤G[i][N] for 1≤i≤N1≤i≤N and G[1][j]≤G[2][j]≤⋯≤G[N][j]G[1][j]≤G[2][j]≤⋯≤G[N][j] for 1≤j≤N 을 만족할 수 있는가? [Input Format]첫 줄에는 총 TestCasts T.각 테스트 케이스마다 2차원 배열 G의 크.. 더보기
[React Router] 06. Params React Router 06. URL Params소스코드 : https://github.com/reactjs/react-router-tutorial/tree/master/lessons/06-params Spring에서와 같이 URL Parameter를 획득하여 사용할 수 있습니다. 예를 들어, /repos/rackt/react-router /repos/facebook/react와 같은 URL이 있을 경우 /repos/:userName/:repositoryName 와 같은 URL Parameter를 통해 각 parameter를 얻을 수 있습니다. rackt, facebook -> userNamereact-router, react -> repositoryName 에 각각 mapping됩니다. 위 방식으로 얻.. 더보기
[React Router] 04. Nested Routes React Router 04. Nested Routes소스코드 : https://github.com/reactjs/react-router-tutorial/tree/master/lessons/04-nested-routes 조금은 난해할 수도 있는 Nested Routes입니다. 지금까지 예제의 Route 구조는 다음과 같습니다. "/" -> App component "/repos" -> Repos component" /about" -> About component 보통 웹 프론트엔드 개발 시 화면은 다양하게 구성될 수 있지만 보통 Header, Nav, Body, Footer등등으로 구분합니다. 이때 위 Route구조대로 작업을 하게 되면 http://localhost:8080/repos로 이동했을 때He.. 더보기
[React Router] 03. Navigating with Link React Router 03. Navigating with Link 소스코드 : https://github.com/reactjs/react-router-tutorial/tree/master/lessons/03-navigating-with-link 아마도 우리의 앱에서 가장 많이 사용되는 Component는 Link일 것이다.Link는 우리가 아는 태그의 기능과 유사한 역할을 하는 Router의 Component이다. // modules/App.js import { Link } from 'react-router' export default React.createClass({ render() { return ( React Router Tutorial About Repos ) } }) 이제 http://loc.. 더보기
[React Router] 02. Rendering a Router React Router 02. Rendering a Router예제 소스코드 : https://github.com/reactjs/react-router-tutorial/tree/master/lessons/02-rendering-a-route React Router는 Component이다. 기본적으로 예시에 사용되는 index.html은 다음과 같다. My First React Router App webpack을 통해 index.js-> bundle.js로 패키징된다. 우선 index.html에 사용될 Component를 가지는 index.js에1. import Router, Route2. render Router 2가지 작업을 추가한다. // ... import { Router, Route, hashHi.. 더보기