본문 바로가기 메뉴 바로가기

jenlog

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

jenlog

검색하기 폼
  • All (81)
    • algorithm (71)
      • baekjoon (31)
      • swea (30)
      • programmers (9)
    • JS (1)
    • Vue.js (2)
    • React (2)
    • * etc (5)
  • 방명록

algorithm (71)
[백준] 1927. 최소힙 / 11279. 최대힙 / python 파이썬

🚩 heap, 자료구조, 우선순위 큐 thinking input이 10만줄 이상으므로 sys.stdin.readline() 을 사용했고, 파이썬의 heapq 모듈을 사용하여 해결했다. 코드 1927. 최소힙 import sys import heapq N = int(sys.stdin.readline()) heap = [] for _ in range(N): x = int(sys.stdin.readline()) if x == 0: if heap: print(heapq.heappop(heap)) else: print('0') else: heapq.heappush(heap, x) 11279. 최대힙 heapq 모듈은 기본적으로 최소힙만을 지원하기 때문에 최대힙을 구하려면 튜플이나 리스트형식으로 넣어 0번째 인덱스..

algorithm/baekjoon 2021. 6. 6. 00:01
[알고리즘] 힙 정렬(Heap Sort) / 최대 힙, 최소 힙

What is 힙정렬 ?! 완전 이진 트리의 일종으로 우선순위 큐를 위해 만들어진 자료구조 🔍 시간복잡도 : O(nlogn) ◾ 최대힙(maxHeap) : 부모노드가 자식노드보다 항상 큰 트리 ◾ 최소힙(minHeap) : 부모노드가 자식노드보다 항상 작은 트리

algorithm 2021. 6. 3. 21:51
[백준] 10026. 적록색약 / python 파이썬

🚩 그래프, BFS thinking 큐를 만든다음, 사방 탐색하면서 아직 방문 안했고(==색깔 확인 안했고) 같은 색인 경우 방문체크 후 큐에 넣었다. 적록색약인 경우는 R과 G가 같으므로 하나의 컬러로 통일 시킨다음 BFS과정을 똑같이 반복했다. N이 100까지라 이중 for문 여러번 돌려도 상수*N*N= c*10000 밖에 안되서 시간초과 노걱정 코드 from collections import deque def BFS(x,y): q.append((x,y)) dx = [-1,0,1,0] dy = [0,1,0,-1] visited[x][y] = 1 while q: x, y = q.popleft() for d in range(4): nx = x + dx[d] ny = y + dy[d] # 인덱스 범위 안에..

algorithm/baekjoon 2021. 6. 3. 21:27
[백준] 1107. 리모컨 / python 파이썬

🚩 브루트포스 thinking 아악 진짜 이거 계속 틀려서 구글링해봤다 나는 N의 최대 범위가 500,000이라 500000까지만 체킹하면 된다고 생각했는데 다른사람들은 다 range를 100만으로 잡는게 진짜 이해가 안갔다. 50만 채널까지 존재하기 때문에 50만보다 크면서 모든 숫자의 경우를 거치는 100만까지를 범위로 잡았다는데 도대체 이게 뭔말이야 😑 뭔말이냐면 내가 이동하고 싶은 채널이 N(0~500,000) 번이라고 했을 때, 0번부터 ++로 이동하는 경우와 999,999번부터 --로 이동하는 경우(누를 수 있는 버튼이 9만 있으면 9밖에 못누르기 때문)를 전부 고려한 것이었다. 가능한 숫자를 하나하나 전부 순회하면서 누를 수 있는 숫자에 해당하는 경우만 조건문 처리를 통해 최소 갭을 계산해줬..

algorithm/baekjoon 2021. 6. 3. 20:29
[백준] 7576. 토마토 / python 파이썬

🚩 그래프탐색, BFS thinking queue에다 처음 1인 애들의 좌표를 다 넣고 사방탐색하면서 1로 바꾸고, 바꾼 애들의 좌표를 또 큐에 넣고 이런식으로 해결했다. 그리고 경로 길이를 구해야해서 길이체크할 visited를 만들어줬다. ▶ point 1 처음부터 모두 1이면 0을 출력, 최종적으로 0이 남아있으면 -1을 출력해야 하는데 이걸 어떻게 해야할까 고민하다 파이썬의 all과 any에 대해 알게됐다. 대박사건 all(), any() 함수는 파이썬 빌트인 함수이며 조건 성립 유무에 따라 True / False를 리턴해준다. 인자는 하나만 올 수 있고, 반복가능한 자료형(iterable)이어야한다. 파이썬에서 빈 값, 0, None은 False로 인식한다. All 조건이 전부 True이면 Tru..

algorithm/baekjoon 2021. 6. 2. 21:09
이전 1 2 3 4 5 6 7 ··· 15 다음
이전 다음
글 보관함
TAG
  • react
  • 영어끝말잇기
  • 21609 상어 중학교
  • merge에러
  • Python
  • 백준
  • git 미러링
  • 기지국설치
  • 20057 마법사 상어와 토네이도
  • 2018 카카오 공채
  • merge 에러
  • 20056 마법사 상어와 파이어볼
  • 파이썬
  • BFS
  • 삼성기출
  • swea
  • 보석쇼핑
  • dp
  • 2579 계단오르기
  • 알고리즘
  • 삼성코테
  • 17406 배열돌리기4
  • 브루트포스
  • 프로그래머스
  • dfs
more
최근에 올라온 글
Total
Today
Yesterday
최근에 달린 댓글
«   2025/09   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

jennnn.tistory.com

티스토리툴바