hibiscus

  • 홈
  • 태그
  • 방명록

영역구하기 2

[백준 알고리즘] 2468.안전영역

첫번째는 풀이는 단계를 나눠 1) 높이의 최댓값, 최솟값을 구하고, 2) (최솟값부터 최댓값까지 하나씩 대입하여) 회색 영역을 찾고, 3) 잠기지 않는 부분을 count 해 최댓값을 저장 이렇게 풀었다. 그런데 다 풀고 나서 리팩토링하기 위해 다시 보니 굳이 회색영역을 찾지 않아도 됨을 알게 되었다. 그래서 높이값과 방문표시를 사용하여 회색영역을 찾는 부분을 없앴더니 조금 속도가 빨라졌다. import sys N = int(sys.stdin.readline()) areas = [] safe = 0 gray_area = [[0]* N for _ in range(N)] safe_area = [[0]* N for _ in range(N)] delta = [(1, 0), (-1, 0), (0, 1), (0, -..

알고리즘 문제 풀기/백준(Baekjoon) 2021.03.25

[백준 알고리즘] 2583. 영역구하기

이 문제는 좌표로 되어 있었서 조금 헷갈렸다. 그렇지만 영역을 구하는 문제이기 때문에 직사각형이 상하나 좌우로 뒤집어도 영역의 갯수는 변하지 않기 때문에 다루기 편하게 상하로 뒤집은 다음 사용해서 영역을 구했다. M, N, K = map(int, input().split()) arr = [[0] * N for i in range(M)] areas = [] delta = [(1, 0), (-1, 0), (0, 1), (0, -1)] def DFS(i, j): stack = [(i, j)] arr[i][j] = 1 cnt = 1 while stack: r, c = stack.pop() for dt in range(4): nr = r + delta[dt][0] nc = c + delta[dt][1] if 0

알고리즘 문제 풀기/백준(Baekjoon) 2021.03.25
이전
1
다음
더보기
프로필사진

hibiscus

  • 분류 전체보기 (71)
    • 차곡차곡 자바스크립트 (0)
    • Project (0)
    • Web (2)
    • CS (1)
    • 알고리즘 문제 풀기 (61)
      • 백준(Baekjoon) (47)
      • 프로그래머스 (0)
      • SWEA (12)
      • 알고리즘 정리 (2)
    • Error (1)
    • 면접후기 (1)

Tag

파이썬, 2806, 브루트포스, 1795, DFS, 조합, 2479, 알고리즘, SWEA, 5427, 백준, 영역구하기, 다익스트라, 순열, 4839, N과M, 1283, 회문, react, 인수의생일파티,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/07   »
일 월 화 수 목 금 토
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 31

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바