본문 바로가기

BFS10

[SWEA] 1953.탈주범 검거 (java) / BFS @BFS / 35m 무난한 BFS 문제. 인덱스 조절만 효율적으로 하면 금방 풀 수 있는 문제다. 문제 링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpLlKAQ4DFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 구현 포인트 1. map을 map[x위치][y위치][4방향]인 3차원 boolean형 배열로 입력받았다. main에서 값을 입력받을 때 switch 문을 활용하여 연결 가능한 부분에만 true값을 넣어줬다. 2. 방향을 상좌하우로 입력받는다. 이렇게 하면 (지금 방향 + 2) % 4 == 반.. 2020. 1. 26.
[SWEA] 2117.홈 방범 서비스 (java) / BFS 또는 List 활용 @BFS 또는 List 활용 / 50m 처음에 BFS로 풀었는데, List를 활용해서 푸는 코드가 훨씬 효율적이다. BFS로 처음 풀 때 시간이 터지지 않을까 걱정했는데, 기우였다. BFS로만 풀어도 빠름 근데 List로 풀면 BFS 코드보다 시간이 반으로 준다. 문제 링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V61LqAf8DFAWu SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com BFS 코드 구현 방법 1. 이중 for문으로 각 점을 돌면서, 각 점마다 bfs를 돈다. 2. bfs에서는 N + 1 만큼 .. 2020. 1. 26.
[SWEA] 2382.미생물 격리 (java) / 시뮬레이션, BFS @시뮬레이션, BFS / 3h (구현 1시간 디버깅 2시간) 처음 문제 읽으면서 낚시왕이랑 같은문제네 생각했고 문제 다 읽어보니 크게 어렵지 않을 것 같았는데 구현도 금방 했는데 디버깅 하다가 죽는 줄 알았다.. 계속 테케 20개만 맞는다고 떠서... 질문 다 뒤져봐도 없고 울뻔.. 겨우겨우 찾았다. 쉬운 문제처럼 보이는데 조건에 대한 로직을 잘 생각해야해서 약간 어려운 문제였다. 문제 링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV597vbqAH0DFAVl& SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 구현.. 2020. 1. 25.
[SWEA] 5653.줄기세포배양 / BFS, 시뮬레이션 @BFS, 시뮬레이션 약간 난이도 있는 시뮬레이션. 어렵게 생겨서 엄청 쫄았는데 생긴 것 보다는 어렵지 않다. (쉽다는건 아님..) 구현은 1시간 10분정도 걸렸는데 44/50개로 계속 fail 떠서.. 이거 잡는데 한시간 걸렸다ㅠ 엄청 어려운 원리는 아닌데 문제를 꼼꼼히 안읽어서 삽질 많이 했다. 문제 링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRJ8EKe48DFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 구현 포인트 1. 세포가 번식해서 퍼져나가기기 때문에 BFS로 구현했다. 2. 큐에는 비활.. 2020. 1. 8.
[백준] 17244.아맞다우산 (java) / BFS, Permutation @시뮬레이션 풀면서 permu + bfs, 완탐 이렇게 돌리면 터지지 않을까 고민하면서 풀었는데 돌려보니 의외로 빨라서 당황. 시간복잡도 계산하는 연습이 조금 더 필요할 듯 하다. 문제 자체는 크게 어렵지 않았는데, 챙겨야 하는 물건이 없을 수 있다는 점을 간과해서 런타임 에러가 떴고, 그걸 잡느라 조금 고생했다. 근데 또 물건이 없을 때에도 시작점과 도착점 사이에 벽이 있을 수 있다는 사실을 간과해서, 또 약간의 삽질을.. 문제 조건을 꼼꼼히 보는 습관을 들여야겠다. Gold 2라고 되어있어서 쫄았는데, 그정도 문제는 아닌 것 같고 bfs 연습하기 좋은 코드인 듯! # 구현 방법 1. 맵을 입력받으면서 물건의 위치를 ArrayList에 저장한다 2. 물건 개수 크기의 배열을 만들어서 nextPermut.. 2020. 1. 7.