백준 - 구슬 탈출 1, 2, 4, 13459, 13460, 15653 - swift
https://www.acmicpc.net/problem/13459 13459번: 구슬 탈출 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 조금 난이도 있는 구현, bfs 문제라고 생각한다. 구현에 있어서 고려할 요소가 몇 개 있다. 기울이는 동작을 그만하는 것은 더 이상 구슬이 움직이지 않을 때까지이다. 즉, 좌, 우, 위, 아래 움직일 때 한 칸만 움직이는 것이 아닌 끝까지 움직이도록 해야 한다. 그리고 더 이상 움직이지 않을 때는, 벽에 부딪히거나, 또는 다른 구슬에 부딪힌 경우다...
2021. 8. 23.
백준 1508 - 레이스 - swift
https://www.acmicpc.net/problem/1508 1508번: 레이스 첫째 줄에 N, M, K가 주어진다. N은 1,000,000보다 작거나 같은 자연수이고, M은 10,000보다 작거나 같다. 또, K는 2보다 크거나 같고, 50보다 작거나 같다. 둘째 줄에 심판이 있을 수 있는 K개의 위치가 주 www.acmicpc.net 주어진 조건을 보면 심판들은 정해진위치에만 서있을 수 있다. 정해진위치( K )의 개수는 최대 50개이다. 그렇지만 심판들( M )의 개수는 최대 만개이다. 여기서 알수있는 사실은, M이 K보다 크거나같다면, 무조건 특정위치에 여러명의 심판들이 존재할수밖에 없다는 사실이다. 이 경우에 답은 무조건 1로 채워진 문자열이여야할 것 이다. 여기서 어떻게 접근해야할까, 정..
2021. 6. 23.