Skip to content

miseongk/jwp-subway-path

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jwp-subway-path

도메인 요구사항

  • 역 등록
    • 라인명, 기준이 되는 역, 등록 할 역, 방향, 거리를 입력받아 역을 등록한다.
    • 등록할 역의 위치는 자유롭게 지정할 수 있다.
    • 입력한 두 역이 전체 노선에서 이미 연결되어 있으면 안된다.
    • 기준이 되는 역은 꼭 존재해야 한다.
    • 등록할 역은 같은 노선에는 존재하면 안된다.
    • 노선 가운데 역이 등록될 경우 거리 정보를 고려해야 한다.
      • A-B-C 노선에서 B 다음에 D 역을 등록하려고 할 때 B-C가 3km, B-D거리가 2km라면 B-D거리는 2km로 등록되어야 하고 D-C 거리는 1km로 등록되어야 한다.
    • 위에 해당하는 경우가 아닌 경우 예외가 발생한다.
  • 역 제거
    • 역을 제거하는 경우 정상 동작을 위해 재배치 되어야 한다.
    • 역과 역 사이의 거리도 재배정 되어야 한다.
    • 노선에 등록된 역이 2개 인 경우 역을 제거할 때 두 역이 모두 제거되어야 한다.
  • 노선 조회
    • 노선에 포함된 역을 순서대로 보여줘야 한다.
  • 전체 노선 조회
    • 전체 노선에 포함된 역을 순서대로 보여줘야 한다.

API

  • 노선에 역 등록 기능
  • 노선에 초기 역 등록 기능
  • 노선에 역 제거 기능

노선

  • 노선 추가
  • 노선 삭제
  • 노선 수정
  • 노선 조회
{
  "id" : 1,
  "name": "5호선",
  "color": "PURPLE",
  "stations": [
    "길동역", "강동역", "천호역"
  ]
}
  • 전체 노선 조회
[
  {
    "id": 1,
    "name": "5호선",
    "color": "PURPLE",
    "stations": [
      "길동역", "강동역", "천호역"
    ]
  }, 
  {
    "id": 2,
    "name": "8호선",
    "color": "PINK",
    "stations": [
      "강동구청역", "천호역", "잠실역"
    ]
  }
]

경로 조회

  • 경로 조회
    • 출발역과 도착역을 입력받는다.
    • 최단거리경로와 총 거리, 요금 정보를 응답한다.
{
  "shortestPath": [
    "강동구청역", "천호역", "잠실역"
  ],
  "distance": 10,
  "fare": 1250
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%