본문 바로가기

전체 글94

[이론] 구간 합, 합 배열 구하기 구간 합: 시간 복잡도를 줄이는 특수한 알고리즘 구간 합은 특정 구간의 합을 빠르게 구하기 위해 사용되는 알고리즘입니다.이 알고리즘의 핵심은 "합 배열"이라는 개념을 활용해 계산량을 줄이는 데 있습니다.  구간 합이란? 🤔구간 합은 간단히 말해, 배열 A에서 특정 구간 [ i , j ]의 합을 빠르게 구하는 방법입니다.예를 들어, 배열 A가 다음과 같다고 가정해보겠습니다. 구간 [1, 4] 의 합은 2 + 4 + 1 + 5 = 12 입니다.하지만 단순히 반복문을 이용해서 계산한다면, 시간 복잡도가 O(N)에 해당할 수 있습니다.이 과정을 더 빠르게 해결하기 위해 합 배열을 활용합니다.  구간 합의 핵심 이론: 합 배열 만들기 📚합 배열(S)은 배열의 각 위치까지의 누적 합을 저장한 배열입니다.이를 통.. 2024. 12. 5.
[알고리즘] 시간 복잡도 최대한 쉽게 이해하기 알고리즘을 처음 시작하는 코린이들을 위한 시간복잡도 이야기 🕰️안녕하세요! 알고리즘에 갓 입문한 코린이 여러분!오늘은 저와 같은 코린이 분들을 위해 시간복잡도를 조금이라도 쉽게 이해하실 수 있도록 최대한 간단히 이야기해 보려고 합니다. 참고로 저는 “Do it! 알고리즘 코딩테스트 with Java” 책을 기반으로 공부하고 있어요. 시간복잡도에서 핵심은 빅-O 표기법이기 때문에, 빅-O 표기법을 중심으로 살펴보겠습니다! 😊 시간복잡도, 그게 뭔데?시간복잡도는 주어진 문제를 해결하기 위해 프로그램이 실행해야 하는 연산의 횟수를 의미해요. 수행 시간은 1억 번의 연산을 1초의 시간으로 간주하여 예측합니다. 하지만 처음 들으면 조금 추상적으로 느껴질 수 있어요. 그래서 더 쉽게 풀어볼게요! 😊 수행시간,.. 2024. 11. 27.
[TIL] 20241125 🥳 오늘은 나의 생일 🎂     그리고 앞으로를 위한 고민의 날오늘은 내 생일이다. 그런데 묘하게도 축하보다는 앞으로의 계획들로 머리가 꽉 찼던 하루였다. 그중 가장 크게 든 생각은 바로 취업의 어려움. 서류 전형 하나 통과하는 게 이렇게 어려울 줄은 몰랐다. 지난 1년, 그리고 나의 성장1년이라는 시간 동안 개발 공부에 몰두해 왔다. 처음에는 막막했지만, 꾸준히 공부하며 MSA, Kafka, Redis 같은 기술을 활용해 프로젝트를 완성할 정도로 성장했다. 스스로도 이만큼 해낸  자신이 대견하기도 하다. 하지만 여전히 넘어야 할 산이 많다는 것을 느낀다. 그동안은 앞으로만 달려가느라 내가 놓치고 있던 것들을 돌아보지 못했다. 그런데 요즘, 스스로가 부족하다고 느끼는 기술들에 대해 제대로 공부하고 보완할 .. 2024. 11. 26.
[Review] 객체지향의 사실과 오해 " 객체지향 시스템은 협력하는 객체들의 연결망이다 "책을 읽으며 가장 중요하다고 느낀 키워드 두 가지를 뽑자면, 단연 협력과 메시지다. 객체지향 세계에서는 의사소통 수단으로 오직 하나, 메시지만 존재한다. 저자는 협력을 완성하기 위해 필요한 메시지를 식별하고, 이를 바탕으로 객체들에게 책임을 할당하라고 강조한다. 이 내용은 객체지향 책을 처음 접한 1년 차 코린이였던 나에게 신선한 충격이었다. 메시지를 통해 객체에게 책임을 부여할 수 있다니! 객체들이 메시지를 주고받으며 협력하는 방식은 지금까지 생각해 온 클래스 위주 설계 방식과는 완전히 다른 패러다임이었다."이 얼마나 신선한 충격인가!!" 책을 읽으며 객체지향에 대한 관점이 완전히 새롭게 바뀌는 순간이었다.  책에서는 코드를 거의 찾아볼 수 없다. 대.. 2024. 11. 24.
[TIL] 20241122 어제는 블로그를 안 쓴 이유가 공부를 안 해서가 아니다. 공부를 마치고 나서, 함께 내일배움캠프에서 공부했던 팀원들을 만나 오랜만에 수다를 떨며 간단히 술 한 잔 하느라 깜빡했..다 😅 미리 썼어야 했는데.. 그래도 오랜만에 팀원들과 시간을 보내며 좋은 에너지를 얻었으니, 오늘부터 다시 열심히 블로그도 작성하고 공부도 꾸준히 이어가 보자!오늘 한 일 1 도서 '객체지향의 사실과 오해'를 읽으며, 새로운 관점에서 객체지향을 이해하는 중이다. 책을 읽으며 감탄을 몇 번이나 했는지 모르겠다. 정말 세상에는 똑똑한 사람들이 많다는 걸 새삼 느끼게 된다.지금까지 내가 알고 있던 객체지향은 클래스를 선언하고 속성과 메서드를 정의하는 방법에 초점이 맞춰져 있었다. 하지만 이 책을 통해 깨달은 건, 클래스는 단지 도.. 2024. 11. 22.
[TIL] 20241119 이틀 동안 대구 여행을 다녀왔습니다. 감기가 완전히 낫지 않아서 쉽지 않은 여행이었지만, 잘 놀아야 공부도 잘 할 수 있는 법!! 😊여행 덕분에 기분도 전환되고 좋은 에너지를 얻을 수 있었던 것 같습니다. 이제 이틀 동안 재충전했으니, 다시 열심히 달려볼 차례입니다! 🔥 오늘 한 일 1오늘은 프로그래머스에서 SQL 알고리즘을 새로 7문제 풀고, 이전에 풀었던 3문제를 복습하며 부족했던 부분을 다시 다지는 시간을 가졌다. 반복 학습 덕분인지, 이제 SQL로 알고리즘 문제를 푸는 게 조금씩 익숙해지기 시작했다.  오늘 한 일 2 "객체지향의 사실과 오해"라는 책을 읽기 시작했다. 내용이 어렵지 않게 느껴지는 점이 특히 인상적이었다. 흥미로운 점은, 지금 이 책을 읽는 것과 n년 후 개발 경험이 쌓인 후 .. 2024. 11. 19.