분류 전체보기 7

프로그래머스 - 보석 쇼핑 with.Python

오늘은 프로그래머스에 보석 쇼핑 문제를 풀어봤습니다. 하지만 결국 풀지 못해서 GPT의 힘을 빌렸네요.. 허허그래서 다시 한번 풀이를 생각해보고 되짚어볼겸 블로그에 남기려고 합니다.1. 문제 설명1-1. 제한사항gems 배열의 크기는 1 이상 100,000 이하입니다.gems 배열의 각 원소는 진열대에 나열된 보석을 나타냅니다.gems 배열에는 1번 진열대부터 진열대 번호 순서대로 보석이름이 차례대로 저장되어 있습니다.gems 배열의 각 원소는 길이가 1 이상 10 이하인 알파벳 대문자로만 구성된 문자열입니다.2. 나의 풀이 방법(실패)딕셔너리를 활용해 각 종류를 key로 설정하고 value에 key에 해당하는 인덱스를 넣어서 맵핑을 했다.그러고 각 key에서 값들을 하나씩 뽑고 인덱스간 빈 자리가 가장..

알고리즘 2025.06.16

PCCP 모의고사 2회 3번 문제 - 카페 확장

🧾 문제 설명0초에 손님 한 명 도착, k초마다 새로운 손님 한 명이 줄을 섬음료는 한 번에 하나씩 만듦손님은 음료를 받자마자 나감음료들은 0번부터 차례대로 번호가 지정되어 있음문제 목표주문받은 음료 목록을 이용해 손님들이 동시에 최대 몇 명이 머물렀는지 구하라.주문하기까지 걸린 시간과 음료를 받고 나가는 시간은 무시나감과 동시에 다른 손님이 들어올 경우, 나가는 손님이 먼저 퇴장한 후 입장🔒 제한 사항1 ≤ menu의 길이 ≤ 100menu[i]: i번 음료의 제조 시간1 ≤ menu[i] ≤ 1001 ≤ order의 길이 ≤ 10,0000 ≤ order[i] 1 ≤ k ≤ 100📌 입출력 예menuorderkresult[5, 12, 30][1, 2, 0, 1]103[5, 12, 30][2, 1,..

알고리즘 2025.05.09

석유 시추

프로그래머스 석유 시추 문제 풀이 포스팅용입니다 👇# 🛢️ [프로그래머스] 석유 시추 - BFS 덩어리 탐색 문제풀이 (Python)---## 📘 문제 설명2차원 리스트 `land`가 주어집니다. 각 칸은 다음을 의미합니다.- `1`: 석유가 있는 땅- `0`: 석유가 없는 땅시추관은 위에서 아래로 **하나의 열(column)** 을 선택해서 수직으로 시추할 수 있습니다. 이때, 해당 열과 연결된 석유 덩어리를 전부 채굴할 수 있습니다.> ⚠️ **석유는 상하좌우로 연결된 1들의 묶음**이며, > 시추관이 뚫린 열에 연결된 모든 석유를 채굴합니다.---## ❌ 내가 처음 작성한 코드```pythonfrom collections import dequedef solution(land): n =..

알고리즘 2025.04.14

코테를 위한 알고리즘 유형별 정리 1위~20

✅ 알고리즘 유형별 정리 (1위 ~ 20위)📌 목차1. 그래프 탐색 (DFS / BFS)2. 그리디 (Greedy)3. 정렬4. 해시5. 완전탐색 / 백트래킹6. 우선순위 큐(heap)7. 이분탐색8. 투 포인터 / 슬라이딩 윈도우9. DP10. Union-Find11. 비트마스킹12. 누적합 / 구간합13. 문자열 처리14. 최단 경로 (다익스트라, 플로이드)15. 트리 탐색 (DFS 기반)16. 시뮬레이션17. 위상 정렬 (Topological Sort)18. 세그먼트 트리 (Segment Tree)19. Fenwick Tree / Binary Indexed Tree20. 트라이 (Trie)1. 그래프 탐색 (DFS / BFS)✅ 핵심 개념 요약그래프에서 모든 정점을 빠짐없이 방문하는 방식DFS: ..

알고리즘 2025.04.04

MVC & MVP & MVVM 패턴 삼형제에 대해

MVC 패턴모델(Model), 뷰(View), 컨트롤러(Controller)로 이루어진 디자인 패턴이고, 애플리케이션의 구성 요소를 세 가지 역할로 나눠서 각 구성 요소에만 집중할 수 있게 해줌.특징장점: 재사용성과 확장성이 용이함.단점: 애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해질 수 있음.구성 요소Model데이터베이스, 상수, 변수 등 데이터를 관리하는 요소임.뷰에서 데이터를 생성하거나 수정하면 컨트롤러를 통해 모델이 생성되거나 갱신됨.View사용자 인터페이스 요소로, 사용자가 볼 수 있는 화면을 담당함.모델의 정보를 따로 저장하지 않고, 화면 표시와 관련된 정보만 가짐.변경 사항이 생기면 컨트롤러에 이를 전달함.Controller모델과 뷰를 연결하는 다리 역할을 하며, 메인 로직을 담당함..

디자인 패턴 2025.01.14

디자인 패턴 일곱 난쟁이

디자인 패턴이란?프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 규약 형태로 만들어 놓은 것1. 싱글톤 패턴 (Singleton Pattern)하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴특징주요 사용처: 데이터베이스 연결 모듈, 로깅 시스템 등장점: 인스턴스 생성 비용 감소, 글로벌한 접근성 제공단점: 의존성이 높아짐해결책: 의존성 주입(DI, Dependency Injection)을 통해 모듈 간 결합을 느슨하게 만듦장점:애플리케이션 의존성 방향 일관모듈 간 관계 명확원칙: 상위 모듈과 하위 모듈 모두 추상화에 의존해야 하며, 구체적 구현에 의존하지 않아야 함단점: 테스트 주도 개발(TDD) 시 독립적인 인스턴스를 생성하기 어려움2. 팩토리 ..

디자인 패턴 2025.01.14

싸피 비전공자 11기의 1년간 회고 및 후기

2024년 1월 2일부터 2024년 12월 31일까지 싸피 1년 과정이 끝났다.print(hello world!)도 몰랐던 내가 1년이 지난 지금은 엄청 많이 성장했다고 생각한다.하지만 아직 부족한게 너무나도 많고, 나보다 잘하는 사람은 정말 많다.그렇기에 싸피 1년동안 있었던 일을 되돌아보며 마음을 다시 다잡고 앞으로 나아갈 수 있게 글을 작성해보려고 한다.1학기영문 타자도 잘 치지 못하는 나에게 낯선 코드와 개념은 코드를 이해하고 배우는데 많은 어려움을 주었다.싸피의 진도는 정말 매일매일 새로운 내용으로 많은 내용을 배웠고, 이를 소화하는데 벅찼다.스스로 다른 사람들과 비교하며 나는 왜 저렇게 못하는지에 대해 자괴감이 많이 들었던거 같다.이럴때 나는 근처 헬스장에 가서 분노의 헬스를 하면서 스트레스를..

카테고리 없음 2025.01.09