SWEA 4

[SWEA][Java] 탈주범 검거

문제 링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpLlKAQ4DFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com # 문제 풀이 구현 + BFS 이 문제는 파이프가 연결된 곳만 이동할 수 있는데, 파이프가 연결된 것을 확인하기위해서 지금 있는 곳과, 다음에 위치하게 될 장소를 확인해야했습니다. 파이프의 모양에 따라 이동할 수 있는 방향이 달라서, 파이프의 종류에 따라서 이동할 수 있는 방향을 담은 배열을 만들어줬습니다. 그 배열에 들어있는 값은 dx, dy의 index를 기준으로 방향 값을 의미합니다..

알고리즘 2023.05.25

[SWEA][Java] 보급로

문제 링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15QRX6APsCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com # 문제 풀이 BFS 출발지에서 도착지까지의 최소 거리를 구하는 것이 아니라 최소 비용을 구하는 것이기 때문에 Node 클래스를 하나 만들어서 BFS를 다 돌리고 난 이후에 나온 값 중 가장 작은 값을 출력했습니다. 방문 처리와 최소비용을 같은 배열에서 처리했습니다. 이전 방문해서 나왔던 값보다 현재 방문해서 나온 값이 더 작은 경우에만 값을 업데이트하고 큐에 넣어줬습니다. 출발지와 도착..

알고리즘 2023.05.23

[SWEA][Java] 수영장

문제링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpFQaAQMDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com # 문제풀이 구현 + DFS 수영장 이용권 중 1일권, 1달권, 3달권, 1년권을 이용하여 1년 이용 비용을 제일 저렴하게 구하는 문제였습니다. 1일권, 1달권, 3달권을 이용하여 구한 값보다 1년권의 가격이 더 저렴하다면 1년권을 결제하고 1일권과 이용날짜를 곱하여 나온 가격과 1달 이용권의 가격 중 더 저렴한 가격으로 계산하여 다음달로 넘기고 매달 3달권을 시작하는 할 수 있는 것까지 ..

알고리즘 2023.05.22

[SWEA][Java] 프로세서 연결하기

문제 링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4suNtaXFEDFAUf SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com # 문제 풀이 구현 + DFS 어떤 코어를 어떤 방향으로 연결했는지에 따라서 값이 달라질 수 있기 때문에 dfs로 모든 경우의 수를 탐색해야겠다고 생각했습니다. 1. 멕시노스의 가장자리에 위치한 코어는 이미 전원이 연결된 것으로 간주하기 때문에 제외하고 리스트에 넣습니다. 2. dfs로 탐색을 합니다. 파라미터로 어떤 Core인가, 현재 연결된 Core의 개수, 현재 사용한 Wire의 길..

알고리즘 2023.05.21