본문 바로가기

분류 전체보기60

백준 1074 c++ 1074번: Z (acmicpc.net) 문제를 어떻게 접근해야할까?ㄴ아래 사진을 보면 너무너무 복잡하다. 게다가 시간 제한이 0.5초이다. 그냥 브루트포스로는 불가능 할 것다.ㄴ그렇다면 분할정복으로 접근해볼까? 일단 아이디어를 생각해보자. 저 grid를 1사분면 2사분면 3사분면 4사분면으로 계속 나누어서 하면 되지 않을까?아래 그림으로 예를 들어 설명하면 우측 상단에 있는 21을 찾는다면. 저렇게 1/4로 반갈죽 계속 시켜서 쌓아가는 느낌이면 될 것같다.분할정복 문제이므로 3가지를 먼저 생각해보자. 1. 언제 재귀하지 않아도 되는가?ㄴ문제가 n>1인 경우에 계속 호출한다니까 n=0이면 얼추 되겠다.2. 어떻게 n을 나눠야 할까?ㄴ흠.. 고민이 된다.3. 어떻게 합쳐야할까?ㄴ그냥 계속 더하면 될 것 같.. 2024. 10. 10.
알고리즘 시간 복잡도, 마스터 정리 일반적으로 반복문 같은 경우에는 보는게 쉽다. 그냥 가장 큰 루프를 보면 되는데, 까다로운 것은 자기호출 함수가 있을 때 까다롭다. 그래서 수학 잘하는 형님들이 공식을 만들었는데 바로 마스터 정리이다. 증명하는 과정도 있는데 난 수학이 잼병이라 잘 모르겠다. 이렇게 좋은게 있다~~ 하고 쓰면 될 것 같다. a: 재귀가 호출 된 수b: 기존의 n보다 얼마나 쪼개는가.c: 재귀가 아닌 것의 반복, 시간복잡도이다.  대표적인 합병 정렬을 예시로 보자.a= 2 -> 재귀가 2번 호출 되므로b=2 -> 재귀가 2로 나누어 지므로 mid =(low+high)/2k= 1 -> merge과정은 시간 복잡도가 n이므로  구체적으로 따지면 n-1번 수행하게 되는데 그냥 편의상 n으로 봐도 무방하다. 그렇다면  T(n) =.. 2024. 10. 7.
분할정복 divide & conquer (알고리즘) +(백준 1780) 알고리즘 문제에서 분할정복 문제를 만나면 어떻게 접근해야 하는지 정리하는 글이다. 이 문제를 찾는 인사이트는 문제를 보고 이 문제를 작은 문제로 쪼갤 수 있을까?를 보는 것이다.그리고 고민거리가 몇가지 있다. 1. 어떻게 나눌 것인가?2. 어디까지 나눌 것인가? degenerate case의 크기?3. 대칭적으로 나눌 것인가? 합병 VS 쾌속 정렬4. combine 단계가 필요한가? ( 대부분 쪼개긴 해야 하는데 합병 단계는 크게 필요 없는 경우가 많다.) 수시적으로 살펴보자 아래의 사진은 분할 정복을 표현하는 식이다. 이를 점화식으로 표현하면 아래와 같다.점화식의 해법은 아래와 같다. 1. 특성 방정식2. 텔레스코핑3. 마스터 정리 1번 2번은 머리 아프니 3번만 알아도 크게 상관 없다고 생각한다.ht.. 2024. 10. 7.
부트스트랩(Bootstrap) 소개 Bootstrap이란이런 높은 부츠를 쉽게 신고 벗기 위해 있는 것이다. 오늘 소개 할 웹 사이트는 부트 스트랩이다.난 지금껏 코딩은 코드 복붙이란 말이 이해가 잘 가지 않았다. 하지만 이런 패키지 사이트를 알게 된 후로 이해가 간다.https://getbootstrap.com/docs/5.3/getting-started/introduction/ Get started with BootstrapBootstrap is a powerful, feature-packed frontend toolkit. Build anything—from prototype to production—in minutes.getbootstrap.com 이걸 쓰면 웹사이트의 기본적인 구조를 쉽게 만들 수 있다.  저기 빨간거 누르면 처음.. 2024. 10. 6.
DOM에 대해서.. ### DOM(Document Object Model) 이해하기 웹 개발을 하다 보면 "DOM"이라는 용어를 자주 접하게 됩니다. DOM은 **Document Object Model**의 약자로, 웹 문서를 프로그래밍적으로 조작할 수 있도록 만든 **트리 구조의 객체 모델**입니다. 웹 페이지는 HTML로 구성되어 있으며, 브라우저는 이 HTML 문서를 DOM으로 변환하여 화면에 보여주고, 이를 자바스크립트로 제어할 수 있게 합니다. 이 글에서는 DOM이 무엇인지, 어떻게 동작하는지, 그리고 실전에서 어떻게 활용할 수 있는지 자세히 알아보겠습니다. --- ### 1. DOM이란 무엇인가? DOM은 웹 페이지의 구조를 **트리 형태로 표현한 객체 모델**입니다. HTML 문서가 브라우저에 의해 로드되면, .. 2024. 9. 21.
백준 1018 C++ 브루투포스로 풀었따. 고민하다가 생각이 나지 않아 인터넷에 검색해서 풀었다.#include #include #include #include #includeusing namespace std;string WB[8] = { "WBWBWBWB", "BWBWBWBW", "WBWBWBWB", "BWBWBWBW", "WBWBWBWB", "BWBWBWBW", "WBWBWBWB", "BWBWBWBW"};string BW[8] = { "BWBWBWBW", "WBWBWBWB", "BWBWBWBW", "WBWBWBWB", "BWBWBWBW", "WBW.. 2024. 9. 11.