본문 바로가기

파이썬알고리즘/백준

(4)
[백준 / 14503 ] 로봇청소기 1. 문제 이해 입력값: N, M (3 이상 50 이하, 세로 가로) R,C,d (위치좌표 , 방향 (북동남서 0 1 2 3) 0 또는 1 (N 줄에 걸쳐) 유의해야 할 점: 1. 로봇청소기가 있는 칸의 상태는 항상 빈 칸 2. 이미 청소되어있는 칸 청소 불가 3. 벽 통과 물가 출력 값: 청소 한 칸의 수 2. 문제 풀이 법 문제에서 주어진 조건들을 코드로 짜면되는것같다. 3. 어려웠던 점 1.문제 이해를 못해서 힘들었었다. 2. // 랑 % 헷갈려서 못했다. dx = [0, 1, 0, -1] dy = [-1, 0, 1, 0] def iswall(y,x): if 0
[백준 / 17471] 게리맨더링 1. 문제 이해 입력값: 구역의 개수 N (2
[백준 / 2636] 치즈 1. 문제 이해 입력값 : N , M 행 열 (최대길이 100) 치즈 없는 칸 0, 치즈 있는 칸 1로 주어집니다. 유의해야 할 점 : 치즈가 공기와 접촉하게 되면 접촌된 칸은 한 시간이 지나면 없어진다. 치즈의 구멍 안에는 공기가 없지만, 녹아서 뚫리면 공기가 들어간다. 출력값 : 치즈가 모두 녹아서 없어지는 시간 모두 녹기 전 남아있던 치즈조각의 칸 갯수 2. 문제 풀이 법 사용한 방법: 1. bfs 2. 4방향 제일 위에 정의하는거 : 각 시간당 남아있는 치즈의 갯수를 저장할 배열 : cz' 각 시간마다 실행되는 bfs 함수에서 하는 일 : visited 를 초기화해줍니다. bfs(0,0)으로 불러서 바깥만 탐색 -> 치즈가 뚫리면 탐색하면서 내부도 이어 줄 수 있습니다. 탐색한 바깥마다 4방향 탐..
[백준 / 17135] 캐슬 디펜스 1. 문제 이해 N 행, M 열, D 최대 거리 N 행의 끝에 M개만큼 성이 있는데, 각 성에 최대 한 명씩 총 3명의 궁수가 있다. 그리고 배열로서 적이 주어진다 (1) 한 턴당, 적들은 행 +1 이 된다. ( 성으로 가까워진다) 성에 도달하게 되면, 적은 소멸 한다. -조건 : 직각 거리로 D 보다 작으면서 가장 가까운 적을 골라 죽인다 ( 같은 거리가 있을 땐 열의 번호가 작은 거) 2. 문제 풀이법 먼저, 궁수 3명을 성에 위치시킬 방법은 조합으로 구하였다 ! 그리고 조합이 만들어졌을 때, 게임을 실행시키는 방향으로 진행하였다. 게임이 실행될 때, 적들을 탐색하여 enemies라는 변수에 list 형태로 담았다! 그 enemies 가 다 없어질 때까지 반복문을 돌린다 enemies 반복문 내에선,..