본문 바로가기

백준11

백준 - 구슬 탈출 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.
백준 - 주간 달력 - 22936 - swift https://www.acmicpc.net/problem/22936 22936번: 주간 달력 주간 달력(주력)은 일요일부터 토요일까지 총 7일간의 일정이 들어있는 달력이다. 작년 수현이는 일 년 짜리 달력에 코팅 용지를 붙여 사용했는데, 올해는 조금 더 똑똑해져서 주력에 테이프를 www.acmicpc.net 완전 탐색 및 누적합 문제 유형 같다. ( 알고리즘 유형에는 구간합이 없었지만, 내가 난이도 기여해서 누적합을 추가했다 ) 나름 재밌었던 문제다! 문제의 지문이 조금 애매한 것 같은데.. ( 그래도 풀 수 있었으니 ) 우선 핵심 지문들이 있다. 주력 하나에 들어갈 수 있는 일정의 개수는 제한이 없고, N개의 주력은 서로 연속되어야 한다. 주력의 맨 처음 날짜는 1 이상이어야 하고, 요일은 신경 쓰지 .. 2021. 8. 22.
백준 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.