분류 전체보기
![[Object Oriented S/E] Chapter 5 - Domain Modeling](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FegX9Ja%2Fbtr9QVBBe5W%2Fw04AN68qnk406F65rlDtr1%2Fimg.jpg)
[Object Oriented S/E] Chapter 5 - Domain Modeling
# 범위 105page ~ # 내용 ## 5.1 WHAT IS DOMAIN MODELING? 도메인 모델링은 개념화 프로세스이다. 중요한 도메인 개념, 속성 및 개념 간의 관계를 식별하는 것을 목표로 하며, 결과는 도메인 모델이라는 다이어그램으로 표현된다. 은행 시스템을 구조화 할때, 은행사업에 대한 이해가 필요할것이고 그걸 기반으로 entities나 object를 이해할 수 있을 것이다. 이러한 이해를 위해서 어플리케이션과 관련된 정보들을 수집하고 분석하고 모델을 세워야 하는데 이러한 활동을 하는 과정들이 도메인 모델링이다. ## 5.2 WHY DOMAIN MODELING? 소프트웨어 엔지니어들은 프로젝트 내에서 다른 도메인에서 일하고, 그들의 배경이나 경험들에 따라서 도메인을 다른 관점으로 이해 할 ..
[백준2573&파이썬] BFS를 활용할때는 단계적으로 잘 나누어 풀자
# 문제 백준 2573 빙산 파이썬 풀이 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net # 코드 import sys from collections import deque # 파이썬에서 map이 어떤 역할하는지 알아보기 N, M = map(int, sys.stdin.readline().split()) board = list() for _ in range(N) : line = list(map(int,sys.stdin.readline().split())) board.append(line) dirs = [ (..
[백준2206&파이썬] BFS에서 이동상태가 분리된다면 방문 확인도 분리시켜야 한다.
# 문제 백준 2206 벽 부수고 이동하기 파이썬 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net # 코드 import sys from collections import deque N, M = map(int, sys.stdin.readline().split()) # 1,1 과 N,M은 항상 0임 # 1,1 -> n,m 으로 이동해야함 visit = [[[False] * M for _ in range(N)] for i in range(2)] # 벽부수고 가는 경우랑 아닌경우 나눠야함 b..
[백준6593&파이썬] BFS로 3차원 공간을 탐색할 수 있다.
# 문제 백준 6593 상범빌딩 파이썬 풀이 6593번: 상범 빌딩 당신은 상범 빌딩에 갇히고 말았다. 여기서 탈출하는 가장 빠른 길은 무엇일까? 상범 빌딩은 각 변의 길이가 1인 정육면체(단위 정육면체)로 이루어져있다. 각 정육면체는 금으로 이루어져 있어 www.acmicpc.net # 코드 import sys from collections import deque dirs = [ (-1, 0, 0), # 아래 (0, -1, 0), (0, 0, 1), (0, 1, 0), (0, 0, -1), # 상하좌우 (1, 0, 0) # 위로 ] def solve(L, R, C): board = list() start_point = [-1, -1, -1] flag = True ### BOARD 구성 ### for l..
[백준2468&파이썬] BFS를 사용할때 탐색 단위에 대한 생각이 필요하다.
# 문제 백준 2468 안전 영역 파이썬 풀이 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net # 코드 import copy import sys from collections import deque N = int(sys.stdin.readline()) board = list() for _ in range(N) : line = list(map(int,sys.stdin.readline().split())) board.append(line) dirs = [ (-1,0),(0,1),(1,0),(0,-1) ] maxCount..
[백준5014&파이썬] BFS은 1차원에서도 최단거리를 구할 수 있다.
# 문제 백준 5014 스타트링크 파이썬 풀이 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net # 코드 import sys from collections import deque FAIL = "use the stairs" F, S, G, U, D = map(int, sys.stdin.readline().split()) # 건물 높이 F # 현재 위치 S # 목표 지점 G # 위로 U층 이동 # 아래로 D층 이동 dirs = [ U, (-1*D) ] # print(dirs) visit = [False] * (F+1) visi..