일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- vscode
- 레퍼런스복사
- 백준
- 슬라이딩 윈도우
- BFS
- 동적타입언어
- 두 포인터
- 리액트
- 분할정복
- 이벤트 생명주기
- 공백찾기
- next14
- 렌더링 최적화
- 레이아웃 스래싱
- 이분탐색
- react18
- 정적타입언어
- 수학
- 값복사
- webpack5
- 마진 상쇄
- SW EA
- webpack
- 누적합
- 구현
- 재귀
- react
- 컴포넌트 생명주기
- 즉시실행함수
- 브루트포스
- Today
- Total
목록분류 전체보기 (45)
D.JOUNG

문제 : https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 시간 제한 메모리 제한 난이도 알고리즘 분류 0.5초 512 MB Silver1 분할정복, 재귀 문제 풀이 문제에서 주어진 예제를 들여다보면 z 모양을 그리며 이동하는 재귀적 패턴을 찾을 수 있다. 표의 한 변에 있는 숫자의 개수를 noc(NumOfCells)라고 했을 때, 문제는 noc*noc 개의 칸으로 이루어진 표를 균등하게 4분면으로 나눈 후, 2사분면 → 1사분면 → 3..

문제 : https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 시간 제한 메모리 제한 난이도 알고리즘 분류 1초 256 MB Gold 5 재귀 문제 풀이 재귀함수의 대표격 사례인 하노이의 탑이다. 사실 나는 재귀함수를 아직도 많이 어려워하는 편이다. 쉬운 문제들은 간단히 풀리기도 하지만, 문제가 복잡해질 수록 종료조건과 재귀호출 매개변수를 어떻게 구성해야할 지 감도 안잡힐때가 많았다. 원판의 변화를 손으로 그려가보며 재귀의 구조를 설계해..

문제 : https://www.acmicpc.net/problem/1138 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 www.acmicpc.net 시간 제한 메모리 제한 난이도 알고리즘 분류 2초 128 MB Silver 2 구현 문제 풀이 4명의 사람이 줄을 선다면 각 사람들의 키는 1부터 4까지이고, 5명의 사람이 줄을 선다면 각 사람들의 키는 1부터 5까지이다. 이런 식으로 1부터 N까지의 키를 가진 N명의 사람이 문제에서 주어진 규칙에 따라 줄을 섰을 때 왼쪽부터 순서대로 출력하는 문제이다. 문제에서는 키 1인 사람부..

문제 : https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 시간 제한 메모리 제한 난이도 알고리즘 분류 2초 128 MB Silver 2 이분 탐색 문제 풀이 문제의 내용을 요약하자면, 주어진 K개의 랜선을 잘라 N개 이상의 (동일한 길이의) 랜선을 만들어야 하는데, 그 때 만든 랜선의 길이가 가장 긴 경우의 길이를 구하는 문제이다. 예제의 경우 길이가 차례대로 802, 743, 457, 539 인 네 개의 랜선이 주..
정규식이란? 정규 표현식, 줄여서 정규식은 어떤 문자열에서 원하는 특정 문자(열)을 탐색하는 방법이다. 반복문과 각종 string 메소드를 사용하면 정규식 없이도 원하는 문자를 찾을 수 있겠지만, 정규식을 사용하면 훨씬 길이를 단축하고 가독성을 높일 수 있다. 공식 문서에서는 '문자열에서 특정 문자 조합을 찾기 위한 패턴'이라고 설명하고 있다. 정규식은 웹 개발 시 데이터로부터 원하는 정보를 추출할 때 유용하게 활용할 수 있으며, 로그 분석 도구인 GA4와 Looker studio의 필터에도 정규식을 활용할 수 있는 옵션이 존재한다. (정규식을 할 줄 안다면 이 두가지 도구에서 필터를 훨씬 간편하게 이용 가능해진다.) 정규식을 만들고, 결과를 리턴받는 법 javascript에서 정규 표현식을 만드는 방법..

문제 : https://www.acmicpc.net/problem/1913 1913번: 달팽이 N개의 줄에 걸쳐 표를 출력한다. 각 줄에 N개의 자연수를 한 칸씩 띄어서 출력하면 되며, 자릿수를 맞출 필요가 없다. N+1번째 줄에는 입력받은 자연수의 좌표를 나타내는 두 정수를 한 칸 띄어서 www.acmicpc.net 시간 제한 메모리 제한 난이도 알고리즘 분류 2초 128 MB Silver 3 구현 문제 풀이 수열을 구성해 출력하는 종류의 문제를 푸는 방법은 일반적으로 두 가지다. 하나는 수열 크기 만큼의 배열을 구성해 각 인덱스에 알맞는 수를 채워넣은 후 배열을 출력하는 것이고, 다른 하나는 수열의 각 인덱스 자리마다의 규칙을 파악해 수열의 앞 숫자부터 계산하여 출력하는 것이다. 해당 문제에서도 잘 ..
최근 리액트 강의를 수강하며 지뢰찾기 구현을 스스로 해보았다. 지뢰찾기 게임은 사용자가 빈 칸을 클릭했을 경우 그 주변 빈칸들과 숫자칸을 전부 오픈해야한다. 숫자칸이나 지뢰 칸을 클릭했을 경우는 클릭한 칸에 대한 이벤트만 처리해주면 되지만, 빈 칸을 클릭한 경우는 주변 칸 까지 모두 검사해야 하므로 조금 더 까다로운 알고리즘을 고민해봐야 했다. 결과적으로는 반복문과 재귀함수 두 가지 방법으로 빈칸 열기를 구현할 수 있게 되어 코드를 정리해두려고 한다. 사실 두 알고리즘 다 핵심 원리는 같다. 공백 칸을 클릭했을 경우, 해당 칸 근처의 여덟 칸을 검사하여 숫자 칸일 경우는 해당 칸만 오픈하고, 공백 칸일 경우는 해당 칸을 중심으로 같은 작업을 반복한다. 1. 반복문과 배열을 사용해 탐색하기 (bfs)l..

제로초님의 React 무료 강의를 계속 시청하며 기초를 다져가는 중이다. 1부 수업인 로또 숫자 당첨기까지 수강했고, 중간 점검 겸 React의 Hooks들을 정리하고 넘어가려고 한다. React는 두 가지 형식으로 컴포넌트 제작 방식을 제공하고 있다. 클래스 컴포넌트와 함수 컴포넌트인데, 원래는 클래스 컴포넌트를 주로 사용하다가 최근 현업에서는 거의 함수 컴포넌트만 사용하고 있다고 한다. React 공식 문서에도 'Class 컴포넌트를 삭제할 예정은 없다'라는 문구가 굳이 실려있는 것을 보면, 개발자들이 Class 컴포넌트의 삭제를 고려할 만큼 함수 컴포넌트가 대세이긴 한 것 같다. 함수 컴포넌트를 사용하면 클래스 컴포넌트보다 라인 수를 줄일 수 있고, this 예약어나 class 형식을 신경쓰지 않는..

문제 : https://www.acmicpc.net/problem/12891 12891번: DNA 비밀번호 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA” www.acmicpc.net 시간 제한 메모리 제한 난이도 알고리즘 분류 2초 512 MB Silver 2 문자열, 슬라이딩 윈도우 문제 풀이 슬라이딩 윈도우란 '두 포인트' 알고리즘응 응용한 알고리즘으로, 두 포인터 사이의 구간을 지정하고 해당 구간을 n칸씩 옮겨가며 문제를 해결하는 방식이다. 어떤 조건을 만족하는 연속된 구간의 개수를 구할 때 유용하게 사용할 수 있으며, 두 포인터와 마찬가..

문제 : https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 시간 제한 메모리 제한 난이도 알고리즘 분류 2초 256 MB Gold 4 정렬, 이분탐색, 두 포인터 문제 풀이 시간 제한이 2초이고, 주어지는 수의 개수가 최대 2000개다. 단순히 반복문만을 이용해 문제를 풀이할 경우 시간복잡도가 n의 3승 이상으로 늘어나기 때문에, 시간을 단축할 수 있는 방법을 찾아봐야 한다. 나는 모든 수의 조합을 검토할 수 있지만, 시간 복잡도를 n의 2승 내에 풀 수 있는 '두 포인터'..