본문 바로가기

전체 글51

Implement Circular Queue using linked list Circular Queue A circular queue can be implemented using array and linked list. To implement a circular queue using a linked list, you must use a circular linked list where the rear node is connected to the front node. Complexity Time Complexity Enqueue : \(O(1)\) Dequeue: \(O(1)\) Space Complexity : \(O(n)\) as the queue is size of \(n\) Implement Circular Queue using linked list header // // C.. 2024. 4. 19.
Implement Circular Queue using array Circular Queue A circular queue is extended version of normal queue. It uses fixed-size buffer where the last element is connected to the first element. How to Implement a Circular Queue A circular queue can be implemented using two data structures Array Linked List Complexity Time Complexity Enqueue : \(O(1)\) Dequeue: \(O(1)\) Space Complexity : \(O(n)\) as the queue is size of \(n\) Implement.. 2024. 4. 19.
Doubly Linked List Doubly Linked List A doubly linked list whose nodes contain three fields data the pointer to the previous node the pointer to the next node Time complexity \(n\) : the number of nodes insert new node: \(O(1)\) append new node: \(O(1)\) delete \(i\)th node \((0 \le i \lt n)\) forward and backward : \(O(1)\) others : \(O(n)\) delete a pointer to the node that is given : \(O(1)\) find forward and b.. 2024. 4. 17.
부스트캠프 웹·모바일 8기 후기 약 5개월 동안의 부스트캠프의 모든 일정이 끝났다. 일 년의 반을 쏟은 부스트캠프에서 활동을 기록해보려고 한당😄 📝 지원하기까지 2022년 봄, 전역 후 친구를 따라 iOS를 공부하기 시작했다. 그 친구가 내년에 꼭 네이버 부스트캠프를 같이 하자고 했다. 이때 나는 가볍게 "좋지~"라고 답했던 것 같다. 2023년 2월 매시업에 합격해 상반기를 매시업 활동으로 보냈다. 우연히 매시업에서 7기 수료생을 만나 부스트캠프 이야기를 들을 수 있었다. 여러 이야기 중에서도 JK가 다시 마스터로 참여한다는 소식과 짧은 기간 많은 성장을 이룰 수 있다는 이야기가 특히 기억에 남는다. 이때 나는 iOS에 대한 지식이 어느 정도 있었기 때문에 부스트캠프에서 iOS 기초 지식부터 배우는 데에 시간을 투자하는 것이 좋은 선.. 2023. 12. 29.
숏스 - SHORT NEWS ⚡️ 숏스(SHORT NEWS) 키워드로 보는 짧은 뉴스 애플리케이션 정보 MashUp IT 동아리에서 진행한 프로젝트 개발 기간 : 2023. 03. ~ 2023. 08. GitHub : 바로가기 앱스토어 : 바로가기 프로젝트 소개 Mash Up IT 동아리 13기 iOS 파트로 참여해 진행한 프로젝트입니다. iOS 애플리케이션 개발 4인 / 서버 개발 3인 / 디자인 2인으로 이루어져 약 5개월동안 개발했습니다. 숏스는 숏폼 컨텐츠를 뉴스에 접목한 애플리케이션으로, 키워드를 통해 쉽고 빠르게 원하는 뉴스를 읽을 수 있는 경험을 사용자에게 제공합니다. 해당 팀에서 iOS 애플리케이션 개발 업무를 수행했습니다. 아래 문제를 해결합니다. 뉴스 내용이 너무 길어서 뉴스를 끝까지 안보게 되는 문제 같은 주제의.. 2023. 9. 10.
Git Hooks에 SwiftLint 적용하기 개요 Git 훅은 Git 작업 흐름 중 특정 이벤트가 발생할 때 실행되는 스크립트이다. Git 훅은 클라이언트 훅과 서버 훅으로 나눌 수 있다. 클라이언트 훅은 커밋이나 머지 이벤트가 발생할 때 실행되고 서버 훅은 푸시할 때 실행된다. 기본적으로 Git은 .git/hooks에 있는 훅 스크립트를 사용한다. 기본 훅 디렉토리에는 Git이 기본으로 제공하는 훅이 있다. 기본 훅들은 sample 확장자를 가진 형태인데 sample확장자를 지우고 sh 명령어로 실행할 수 있다. pre-commit 훅에 SwiftLint 적용하기 pre-commit 훅은 커밋 과정 중 가장 먼저 호출되는 훅으로 커밋 전에 실행된다. 이 훅을 사용해 코드 스타일, 코드 포맷, 테스트 등을 자동으로 실행하여 커밋 전 개발자가 실수한.. 2023. 5. 15.
알고있으면 좋은 아이디어 BFS ✔️ BFS에서 방문 체크의 상태가 2차원 배열인 경우 map를 사용해 해시로 상태를 관리할 경우 메모리 초과와 시간 초과이다. 해결 아이디어는 2차원 배열 상태를 문자열로 변환하여 unordered_map의 키 값으로 사용해 방문 체크를 하면 된다. 관련문제 [BOJ 1525] 퍼즐 ✔️ 방문 제한 구역(정점(\(X\), \(Y\))을 기준으로 거리 \(D\) 이하의 정점들의 영역)이 있는 경우 다익스트라 알고리즘을 응용해 방문 제한 구역을 체크할 수 있다. 아이디어는 인접한 정점까지 더 늦게 방문 할 수 있도록 거리 배열을 최신화하여 최대한 방문하지 못하는 구역을 넓히는 것이다. while (!pq.empty()) { auto [d, x, y] = pq.top(); pq.pop(); if (d.. 2023. 4. 16.
[BOJ] 16930 달리기 문제 16930번: 달리기 진영이는 다이어트를 위해 N×M 크기의 체육관을 달리려고 한다. 체육관은 1×1 크기의 칸으로 나누어져 있고, 칸은 빈 칸 또는 벽이다. x행 y열에 있는 칸은 (x, y)로 나타낸다. 매 초마다 진영이는 www.acmicpc.net 진영이는 다이어트를 위해 N×M 크기의 체육관을 달리려고 한다. 체육관은 1 ×1 크기의 칸으로 나누어져 있고, 칸은 빈칸 또는 벽이다. x행 y열에 있는 칸은 \((x, y)\)로 나타낸다. 매 초마다 진영이는 위, 아래, 오른쪽, 왼쪽 중에서 이동할 방향을 하나 고르고, 그 방향으로 최소 1개, 최대 K개의 빈칸을 이동한다. 시작점 \((x_1, y_1)\)과 도착점 \((x_2, y_2)\)가 주어졌을 때, 시작점에서 도착점으로 이동하는 최소.. 2023. 3. 24.