Backend 59

[코테] 중요한 단어를 스포 방지

문제 출처https://school.programmers.co.kr/learn/courses/30/lessons/468370 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이 핵심message 내 각 단어의 [start, end] 인덱스 파악하기스포일러 구간 먼저 파악 후,단어 하나씩 순회하며 비스포 방지 단어 저장(추후 비교)스포 방지 대상 단어는 별도로 저장이후 스포 방지 대상 단어를 순회하며비스포 방지 단어에 포함되어 있으면 skip중요한 단어에 없으면 추가, 결과값에 1 누적예시 코드 1import java.util.*;class Solution { public int solution(String ..

Backend/Algorithm 2026.07.09

[코테] 노란불 신호등

출처: https://school.programmers.co.kr/learn/courses/30/lessons/468371 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr핵심 포인트각 신호등은 일정한 주기를 반복하므로, 특정 시간 t에서 각 신호등의 불빛(값)을 알 수 있음각 신호등은 일정한 주기를 반복하므로, 모든 신호등의 패턴은 최소공배수(LCM)부터 동일하게 반복됨. 따라서 최대 LCM까지만 검사하면 됨문제의 제한은 신호등 최대 5개, 주기(R + Y + G의 합) 최대 20이므로, 최악의 경우 LCM은 LCM(16, 17, 18, 19, 20)임. 다 곱해도 그렇게 크지 않음(320만 미만) -> Brut..

Backend/Algorithm 2026.07.08

[개발] 무엇을 개발할지 고민될 때 참고하면 좋은 사고 흐름

1. 문제 구체화하기"어떤 주제?" -> "누구의 어떤 불편을 해결할까?"내가 속한 집단을 선택하는 것이 좋다.- 취업 준비생- 개발자- 대학생- 교회 청년부- 식물 키우는 사람- 운동하는 사람- 독서하는 사람2. 반복적으로 하는 일을 적는다여기서 매주 하는 것, 귀찮은 것, 실수하는 것을 체크3. 엑셀로 하는 일을 찾는다메모장, 노션, 구글 스프레드시트로 관리하는 것들은 대부분 서비스가 될 가능성이 있음4. 사람들이 매일 검색하는 질문을 찾는다검색 자체가 서비스인 경우가 많다.5. Reddit 등 커뮤니티를 본다사람들이 계속 불평하는 글에서 좋은 아이디어가 나옴ex) 디시 운동갤, 식물갤, 기독교갤, 개발자갤, 취준생갤6. 이미 있는 서비스를 개선한다.- 좋은 서비스의 공통점 시간을 절약한다.돈을 절약..

Backend 2026.07.03

[Big-O] 헷갈리기 쉬운 개념

Big-O Notation | Notion헷갈리기 쉬운 개념www.notion.so Big-O의 구체적인 의미: 함수가 충분히 큰 입력에서 어떤 기준 함수보다 빠르게 커지지 않는다는 상한(upper limit)을 표현한다. 상수 계수와 낮은 차수 항을 숨긴다.로그 밑의 차이도 상수 배 차이이므로 보통 중요하지 않다.Omega는 하한, Theta는 상한과 하한이 같은 tight bound를 의미한다. “이 알고리즘은 O(n)”이라는 말은 n보다 빨리 커지지 않는다는 상한을 말할 뿐, 정확히 n번 돈다는 뜻이 아니다.O log(n)은 입력을 절반씩 줄이는 구조에서 자주 나온다. 정렬된 배열의 이분 탐색은 한 번 비교할 때마다 남은 후보가 절반으로 줄어든다.O nlog(n)은 비교 기반 정렬에서 자주 등장한다..

Backend 2026.06.23

[자료구조] 배열, 동적 배열, 연결 리스트, ArrayDeque

자료구조 | Notion백엔드에서는 목록, 최근 항목, 작업 대기열의 접근 패턴을 먼저 보고 자료구조를 고른다.www.notion.so자료구조백엔드에서는 목록, 최근 항목, 작업 대기열의 접근 패턴을 먼저 보고 자료구조를 고른다.배열같은 타입의 원소를 연속된 공간에 두고 인덱스로 접근하는 구조위치(인덱스)를 알면 바로 접근할 수 있지만, 중간에 값을 끼워 넣으려면 뒤쪽 원소를 이동해야 함.동적 배열내부 배열의 capacity를 가지고 있다가 공간이 부족하면 더 큰 배열을 만들고 기존 원소를 복사Java의 ArrayList가 이 방식capacity가 부족할 때마다 기존 배열을 복사해야 하므로 특정 순간엔 복사 비용이 발생.사용자 목록 조회 후 인덱스로 접근하는 경우 유리연결 리스트노드가 값, 이전 노드, ..

[알고리즘] 기사단원의 무기

#Claude Code의 Skill을 이용해 작성문제 출처프로그래머스 코딩 기초 트레이닝 - 기사단원의 무기 (Lv.1)링크: https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 내용숫자나라 기사단의 각 기사에게는 1번부터 number까지 번호가 지정되어 있다. 각 기사는 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매한다. 단, 공격력이 제한수치(limit)를 초과하는 경우에는 협약기관에서 정한 공격력(power)을 가지는 무기를 구매해야 한다.예를 들어 15번 기사는 15의..

Backend/Algorithm 2026.05.16

[알고리즘] 성격 유형 검사하기 (2022 KAKAO TECH INTERNSHIP)

Github 링크https://github.com/ginsengcandy/Coding-Test-Practice/commit/7fed26a8520b92e82ea6ad850445725ea58ed3c6 [level 1] Title: 성격 유형 검사하기, Time: 1.45 ms, Memory: 91.8 MB -BaekjoonHub · ginsengcandy/Coding-Test-Practice@7f github.com문제 출처https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr나의 코드import java.u..

Backend/Algorithm 2026.04.29

[알고리즘] 체육복

My Github Repository for Solution Code [level 1] Title: 체육복, Time: 8.62 ms, Memory: 68.7 MB -BaekjoonHub · ginsengcandy/Coding-Test-Practice@2c90b2d@@ -11,7 +11,8 @@ public int solution(int n, int[] lost, int[] reserve) {github.com Problem Source 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr Key Takeaways1. 여벌옷을 가져온 그룹, 잃어버린 그룹을 Set으로 변환하여 여벌옷을 가져왔으면서 잃어버린 학생 제거2..

Backend/Algorithm 2026.04.28

[알고리즘] 둘만의 암호

Beforeimport java.util.*;class Solution { public String solution(String s, String skip, int index) { String answer = ""; // skip의 각 문자를 set에 저장 -> c 와 c+index 사이의 알파벳이 skip에 포함되었는지 빠르게 확인하기 위함 // 스트림보다는 문자 배열로 변환한 뒤 각 배열의 원소를 추가하는 방식이 오버헤드가 덜함 Set skipSet = new HashSet(); for (char c : skip.toCharArray()) { skipSet.add(c); } // Strin..

Backend/Algorithm 2026.04.24