본문 바로가기

분류 전체보기265

[PCCP 기출문제] 2번 > 퍼즐 게임 챌린지 - Python, binary_search(이진 탐색) https://school.programmers.co.kr/learn/courses/30/lessons/340212 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  코드 & 풀이 def solution(diffs, times, limit): # diff level 일 경우 diff - level 번 틀리고, 틀릴 때마다 time_cur 소요 # 추가로 time_prev 만큼의 시간 추가 소요해서 이전 퍼즐을 다시 풀어야 함 # 이전 문제를 다시 풀 때는 무조건 틀리지 않음 # 다시 풀리는 데 걸리는 시간 = (한 번 틀릴 때 걸리는 시간) * 틀린 횟수 + 이전 퍼즐로 돌아가는 .. 2025. 2. 26.
알고리즘 접근 방법 1. 문제를 읽고 이해한다.2. 문제를 익숙한 용어로 재정의한다.3. 어떻게 해결할지 계획을 세운다.4. 계획을 검증한다.5. 프로그램으로 구현한다.6. 어떻게 풀었는지 돌아보고, 개선할 방법이 있는지 찾아본다. 나는 보통 계획을 세운 후(3번) 바로 구현하려고 하는데 검증하는 과정(4번)을 추가해야겠다. 작은 기능에서 시작해서 점차 키워가기 => 점진적 개선문제를 풀 수는 없더라도 해결법을 알아가는데 도움을 줌 2025. 2. 24.
Chapter 23. Debugging(디버깅) Debugging? => 오류의 근본 원인을 식별하고 이를 수정하는 과정 오류를 처음 탐지하는 과정인 테스트와는 다른 거임. OK?일부 프로젝트에서는 디버깅이 전체 개발 시간의 50%를 차지하기도 함.=> 보통 사소한 실수, 오타로 발생 23.1 Overview of Debugging Issues (디버깅 문제 개요)  Role of Debugging in Software Quality (디버깅의 소프트웨어 품질에서의 역할)디버깅은 테스트처럼 소프트웨어의 품질을 향상시키는 방법이 아니라 결함을 진단하는 방법=> 디버깅 하는 일 없도록 해라=> 어떻게? 요구사항을 신중하게 개발하고, 잘 설계하고, 고품질의 코딩 관행을 사용해서디버깅은 마지막 수단이어야 한다.  Defects as Opportunities .. 2025. 2. 23.
올바른 괄호 - C++, Stack https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  코드 & 풀이 #include #include #include using namespace std;bool solution(string s){ bool answer = true; stack c_stack; for (char c : s) { if (c == '(') { c_stack.push(c); }else { if (!c_stack.empty()) { .. 2025. 2. 22.
기능 개발 - C++, Queue 주소 코드 & 풀이 vector solution(vector progresses, vector speeds) { vector answer; int day; int max_day = 0; for (int i = 0; i   주석 그대로임 각 작업이 완료되는데 필요한 일수를 계산해서 이를 기반으로 답을 구해갑니다. 현재 최대 일수보다 크다는 것은 지금 완료 되지 않는 다는 것을 뜻하니까, anwer에 새로 추가 현대 최대 일수보다 작거나 같다면 작업이 완료되고 대기하고 있었던 거니까 추가하는 게 아니고 기존의 것에 + 1을 해줍니다. 2025. 2. 22.
C++ - stack, que, deque, priority_que 자료구조 특징 삽입 삭제조회Stack (LIFO)후입선출push()pop()top()Queue (FIFO)선입선출push()pop()front(), back()Priority Queue우선순위 높은 원소가 먼저 나감push()pop()top()Deque양쪽 삽입/삭제 가능push_back(), push_front()pop_back(), pop_front()front(), back() 어떤 것을 써야 할까?스택: "뒤집기", "DFS", "연산기록 저장"큐: "선입선출", "BFS", "작업 스케줄링"우선순위 큐: "최댓값/최솟값 관리", "힙(Heap) 활용"덱: "양방향 삽입/삭제", "슬라이딩 윈도우" 2025. 2. 22.