전체 글 151

[BOJ/heapq] 11286 절댓값 힙 - python 풀이

https://www.acmicpc.net/problem/11286 문제 핵심숫자를 넣거나(x ≠ 0) 0이 나오면 절댓값이 가장 작은 수를 꺼냄절댓값이 같다면 음수 우선이 조건을 힙의 비교 기준으로 해결했습니다. import sysimport heapqinput = sys.stdin.readlineN = int(input())heap = []for _ in range(N): x = int(input()) if x != 0: heapq.heappush(heap, (abs(x), x)) else: if heap: print(heapq.heappop(heap)[1]) else: print(0) 코드 구현 ..

CS&알고리즘/BOJ 2026.01.02

25년아 잘가라~문답!

올해 가장 좋았던 카페 앙떼띠 _ 잠실 (카공하기도 좋고 올해 가장 많이 가기도 했고 일단 빵이 맛있음 )회화나무 _ 안국 (여기는 아빠가 알려줬는데 그냥 안국 갈때마다 맨날 감 제일 좋고 애정하는 카페 !! 올해도 댕겨옴) 올해의 best 소비 : 오아시스 공연 ! (인생 첫콘서트였음! 사람들이 왜 그렇게 콘서트에 환장하는지 알게 됐음 아 근데 이건 내가 돈쓴건 아님,,,ㅎㅎ)올해의 worst 소비 : 컴퓨터 수리비 30만원 나간거!! 멀쩡한 컴퓨터 화면 뿌신 나자신..가장 자주 들은 올해의 노래 행운을 빌어줘 - 원필 (진짜 간절히 빌었음) don't look back in anger - oasis (콘서트 간다고 엄청 들었음!! 다녀와서도 듣고!!)올해 가장 인상 깊었던 영화 위키드2 !!~!..

카테고리 없음 2025.12.29

[프로그래머스/LV.2] 더 맵게 (python 풀이)

https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 해석)푸는 방법이 여러 가지겠지만, 항상 가장 작은 값부터 처리해야 하므로, 최소 힙(min-heap)이 핵심 자료구조다.가장 안 매운 음식 두 개를 가져와서(heap pop) 섞은 결과를 다시 최소 힙에 넣는 과정(heap push)을 반복한다. 왜 힙을 써야 하는가 ?매번 가장 작은 값 2개를 빠르게 꺼내야 함 힙(우선순위 큐)을 사용하면: 최소값 접근: O(1) & 삽입/삭제: O(log N) 풀이 코드)import heapqdef so..

카테고리 없음 2025.12.19

[프로그래머스/LV.2] 멀리뛰기(Python 풀이)

https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 뭔가 문제를 보고 손으로는 어떻게 풀지 감이 오는데 코드 구현이 막막하면 dp였다. 얘도 dp였다는 것 풀이 코드 )def solution(n): if n dp를 활용해서 점화식을 세웠음 n번째 칸까지 발생하는 경우의 수를 저장하기 위해 리스트를 생성점화식을 이용해 n번째 칸까지 점프할 때 발생하는 경우의 수를 리스트에 저장 dp는 어렵다.................끝! 간단한데 뭔가 찜찜함...dp를 공부를 더 해야겠다는 생각이 들었음...

[프로그래머스/LV.2] 전화번호 목록(Python 풀이)

https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 분류는 해시 맵으로 되어있었지만 해시맵으로 풀지 않았고 다른 걸로 풀어봤음 저번에 접미사 배열 문제 풀었을때 startswith썼던게 기억이 나서 이번에도 startswith을 활용해서 풀어보았다. startswith()을 사용해서 문제 풀기 -> (실패) 예제만 맞고 나머지는 틀림def solution(phone_book): phone_book.sort() for pb1, pb2 in zip(phone_book, phone_book[..

[프로그래머스/LV.1] 추억점수(python 풀이)

https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이렇게 문제가 있고 zip과 딕셔너리 없이는 for문을 엄청나게 돌릴거같아서 dict 과 zip을 이용해서 푸는게 낫다고 판단했음 문제 풀이)def solution(name, yearning, photo): dictionary=dict(zip(name,yearning)) answer = [] for i in photo: score=0 for j in i: if j in dictionary..

[프로그래머스/LV.2] 영어끝말잇기(feat 파이썬 풀이)

https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이 문제 규칙에 따라 코드를 구현한 것이 밑에 있음 def solution(n, words): checked=[words[0]] answer = [] #answer의 형태는 3번 3차례일때 for i in range(1,len(words)): if words[i][0]== words[i-1][-1] and words[i] not in checked: checked.append(words[..

[프로그래머스/LV.2] 숫자의 표현(feat 파이썬 풀이/관련 개념 요약)

문제입니다~ https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결)초기 코드 def solution(n): answer = 0 nums = [ i for i in range(1, n+1)] start = 0 end = 0 while start 개선 코드 def solution(n): answer = 0 nums=[i for i in range(1,n+1)] start,end=0,0 current_sum=0 while start 원래 코..

[프로그래머스/LV.2] 게임 맵 최단 거리

https://school.programmers.co.kr/learn/courses/30/lessons/1844 개인적으로 이게 그래프 입문 문제로 들어오기 좋은 것 같다는 생각이 들었다. 문제 해설[문제에 주어진 조건]maps라는 2차원 배열이 주어지고 1은 갈 수 있는 길, 0은 벽 시작은 항상 (0,0 )에서 시작하고 , 도착은 항상 오른쪽 맨 아래 (n-1, m-1)상하좌우로만 이동 가능 도착점까지 가는 최단 이동 칸 수 리턴, 못가면 -1 리턴 전형적인 BFS문제라서, 큐 쓰고 방문 배열(or maps 자체에 거리 덮어쓰기)로 풀면 됨 - BFS로 푼 파이썬 풀이 from collections import dequedef solution(maps):# answer = 0#n: 행개수..

[프로그래머스/LV.2] 짝지어 제거하기 (파이썬, stack풀이)

https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀었는데 1차 풀이를 잘못했었다.문제 이해를 잘 못했음 문해력 부족한 사람이 누가 있어 라고 생각했는데 안냐세요 누 입니다~ 풀이 방법나는 문자열이 주어지면 그 문자열이 앞뒤로 비슷한걸 판단하는지 알고 for문으로만 돌렸는데, 그게 제거가 가능하냐를 묻는것이기 때문에 stack으로 같은 문자열이 있으면 빼주는 거였다. 예를 들어, 문자열 S = baabaa 라면 " b aa baa → bb aa → aa → " 의 순서로 문자열을 ..