본문 바로가기

반응형

개발

(140)
[백준] 단어 나누기(python) 백준, 단어 나누기 1251번: 단어 나누기 알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다. 먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다 www.acmicpc.net TL;DR 문자열(string) 완전 탐색(brute force) 문제 요약 1. 알파벳 소문자로 이루어진 단어를 세 개의 작은 단어들로 나누어 합쳤을 때 사전 순으로 가장 앞서는 단어를 출력하는 프로그램을 작성하라. 2. 나눠진 단어들은 적어도 길이가 1 이상이여야 한다. - 입력 받은 문자열을 3개로 나누고 나눈 작은 문자열을 뒤집어서 다시 합쳤을 때 가장 작은 문자열이 오도록 하면 된다. - 입력 문자열의 길이가 3 이상 50 이하로 주어..
[TIL] react-router-dom으로 페이지 이동하기 React에서 원하는 url에 원하는 페이지를 띄우기 위해서는 react-router(또는 react-router-dom)를 사용해주어야 한다. 이 모듈은 경로를 지정하고, 해당 경로에 방문했을 때 원하는 컴포넌트 요소를 띄울 수 있게 해 준다. react-router vs react-router-dom 정확히 말하자면 react-router가 모체라고 할 수 있다. 모든 react-router 기능을 포함하고 있는 모듈이다. react-router-dom은 react-router의 여러 기능 중 웹 어플리케이션에서 사용하기 위한 기능(DOM과 관련된)을 포함하고 있는 패기지로, react-router의 자식이라고 볼 수 있다. React가 웹뿐만 아니라 React Native에서도 쓰이기 때문에 웹에서..
[백준] 무한이진트리(python) 백준, 무한이진트리 2078번: 무한이진트리 첫째 줄에 두 정수 A, B(1 ≤ A, B ≤ 2,000,000,000)가 주어진다. 잘못된 입력은 주어지지 않는다고 가정한다. www.acmicpc.net TL;DR 트리(Tree) 수학(Mathematics) 문제 요약 1. 규칙에 의해 생성되는 무한 이진 트리에서 입력으로 받은 지점에 도착하기 까지 왼쪽 이동 횟수와 오른쪽 이동 횟수를 각각 구하는 프로그램을 작성하는 문제이다. 2. 규칙은 다음과 같다. 1. 루트에는 (1, 1)이 할당된다. 2. 어떤 노드 (a, b)가 할당되었을 때, 해당 노드의 왼쪽 자식은 (a + b, b)가 되고, 오른쪽 자식은 (a, a + b)가 할당된다. 3. 잘못된 입력은 주어지지 않는다고 가정한다. - 이진 트리에서 ..
[CSS] 선택자 :hover로 onMouse 효과 내기 :hover CSS는 단순히 HTML 태그의 스타일을 꾸며줄 뿐만 아니라 다양한 선택자(Selector)를 통해서 여러 부가 기능을 사용할 수 있다. 다양한 선택자들이 존재하는데 그중 :hover는 대상이 되는 태그에 마우스가 올라갔을 때 원하는 스타일을 지정할 수 있게 해 준다. 대신 마우스가 대상이기 때문에 반응형 웹에서 모바일이나 태블릿 화면에 대해서는 대응하기 힘들다는 단점이 있다.[1] :hover 적용 전 이전에 진행했던 Global Navigation Bar를 만드는 프로젝트에서 마우스가 올라갔을 때 요소에 밑줄이 생기는 코드를 작성한 적이 있었다. 이때 작성한 코드는 [그림 1]과 같다. 전체 코드가 아니고 함수가 동작하는 부분만 가져왔는데 대략 정신이 멍해진다. 3개의 state를 만들었..
[백준] 해변(python) 백준, 해변 14397번: 해변 단위 정육각형 이루어져 있는 지도가 주어졌을 때, 해변의 길이를 구하는 프로그램을 작성하시오. 해변은 정육각형의 변 중에서 한 쪽은 물인데, 한 쪽은 땅인 곳을 의미한다. www.acmicpc.net TL;DR 그래프 탐색 문제 요약 1. 정육각형으로 이루어져 있는 지도가 주어졌을 때, 해변의 길이를 구하는 프로그램을 작성하라. 2. 해변은 물(.)과 땅(#)이 맞닿아 있는 곳을 의미힌다. - 섬의 개수 구하기와 같은 문제에서는 노드가 정사각형으로 되어 있어 노드를 방문하며 해당 노드의 4방위를 탐색하는 식으로 문제를 해결할 수 있었다. 하지만 이 문제의 경우 정육각형 형태로 주어졌다는 것이 기존의 문제와 차이점이다. - 지도를 직접 그렸을 때, 규칙성을 찾아내서 그래프를..
[백준] 바닥 장식(python) 백준, 바닥 장식 1388번: 바닥 장식 형택이는 건축가이다. 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. 나 www.acmicpc.net TL;DR 그래프 탐색 깊이 우선 탐색(DFS) 문제 요약 1. 바닥 장식을 위해서 필요한 나무 판자의 개수를 구하는 프로그램이다. 2. -가 같은 행에 위치한다면 하나의 나무 판자로 만들 수 있다. 3. |가 같은 열에 위치한다면 하나의 나무 판자로 만들 수 있다. - 섬의 개수 문제의 응용 버전이다. -일 때는 인접한 행에 동일한 것이 있는지 확인하면 되고 |일 때는 인접한 열에 동일한 것이 있는지 확인하면 된다. 입출력 형태 예시 3 :: 같은 ..
[백준] 평행선(python) 백준, 평행선 2358번: 평행선 첫째 줄에 n(1≤n≤100,000)이 주어진다. 다음 n개의 줄에는 각 점의 좌표가 int 범위에서 주어진다. 만약 입력에 서로 같은 두 점이 주어지면, 그 두 점을 이용하여 직선을 만들 수 있다. www.acmicpc.net TL;DR 해시(Hash) 문제 요약 1. 평면 상에 주어진 n개의 점 중 서로 다른 두 점을 선택해서 만들 수 있는 x축 또는 y축에 평행한 직선이 몇 개나 있는지 출력하라. - 평면 상에 존재하는 점들로 만들 수 있는 x축 또는 y축에 평행한 직선의 수를 구하는 문제이다. - 문제 상에 숨겨져 있는 뜻이 있는데 다음과 같은 경우이다. - (1, 2), (1, 3), (1, 4)와 같이 입력이 주어졌을 때, 만들 수 있는 직선의 수는 총 3C2..
[백준] 지름길(python) 백준, 지름길 1446번: 지름길 첫째 줄에 지름길의 개수 N과 고속도로의 길이 D가 주어진다. N은 12 이하인 양의 정수이고, D는 10,000보다 작거나 같은 자연수이다. 다음 N개의 줄에 지름길의 시작 위치, 도착 위치, 지름길의 길이 www.acmicpc.net TL;DR 최단 경로 찾기 - 다익스트라 알고리즘(Dijkstra algorithm) 문제 요약 1. D킬로미터의 고속도로에 존재하는 지름길을 이용했을 때 가장 짧은 거리를 출력하는 프로그램을 작성하라. - 0부터 D 킬로미터 떨어진 고속도로에서 지름길들에 대한 정보가 주어질 때 각 길을 사용했을 때 최단 거리로 목적지에 도착할 수 있는 거리를 계산하면 되는 프로그램이다. 입출력 형태 예시 1 :: 이 경우 가장 짧은 경로는 0 ~ 50..