SSAFY12th / ssafyAlgostudy

SSAFY 12기 대면 알고리즘 스터디
0 stars 7 forks source link

[BOJ] Puyo Puyo #182

Closed reasonyi closed 5 days ago

reasonyi commented 2 weeks ago

문제 링크

https://www.acmicpc.net/problem/11559

풀이 사항

풀이 일자: 2024.00.00 풀이 시간: 00분 00초 채점 결과: 오답/시간 초과/런타임 에러/정답 예상 문제 유형: 구현/BFS/DFS/DP/자료구조/문자열 등 시간: 00 ms 메모리: 00 kb

풀이 방법

(풀이 접근 및 방법에 대한 설명 문제를 풀지 못했다면 어느 곳에서 어려움을 느꼈는지 적어주세요!!)

reasonyi commented 2 weeks ago

문제 링크

186

풀이 사항

풀이 일자: 2024.09.03 풀이 시간: 37분 21초 채점 결과: 정답 예상 문제 유형: 구현/BFS 시간: 104 ms 메모리: 14,180 kb

풀이 방법

sangholee235 commented 2 weeks ago

문제 링크

190

풀이 사항

풀이 일자: 2024.09.03 풀이 시간: 21분 23초 채점 결과: 정답 예상 문제 유형: BFS 구현 시간: 100 ms 메모리: 14,052 kb

풀이 방법

  1. 만난적 없는 뿌요 만나면
  2. 연결된 뿌요가 4개 이상인지 체크하고
  3. 4개 이상이면 폭파 시키기
  4. 폭파 한 뒤 맵 중력 업데이트
  5. 몇 번 돌아갔는지 체크
haesoooo commented 1 week ago

문제 링크

194

풀이 사항

풀이 일자: 2024.09.04 풀이 시간: 45분 채점 결과: 정답 예상 문제 유형: DFS 시간: 108 ms 메모리: 14,252 kb

풀이 방법

while (true) {

  1. 모든 cell을 돌면서 같은 색의 연결된 뿌요 개수 세기 : count() - 얘네 좌표를 다 저장한다. (coord 리스트에) 범위 내 && 방문 X && 다음 좌표 cell == 현재 좌표 cell 값) 개수 ++ 시키고, dfs 재귀
  2. 뿌요 개수가 4개 이상일 때마다 걔네 터뜨리기 : bomb() - coord 리스트에 있던 애들 다 . 으로 변경시킨다
  3. 이중 for문 내에서 현재 존재하는 뿌요 덩어리들을 다 터뜨린 후, 반복문 밖에서 애들을 내린다 - down() : 스택 이용
  4. 1번의 연쇄가 끝났으므로 chaincnt++;

}

이중 for문을 돌렸을 때, 4개 이상의 뿌요 덩어리가 안나오면 while문을 종료시킴

chanu2 commented 1 week ago

문제 링크

196

풀이 사항

풀이 일자: 2024.09.04 풀이 시간: 45분 채점 결과: 정답 예상 문제 유형: DFS 시간: 112 ms 메모리: 14308kb

풀이 방법

kimdevspace commented 1 week ago

문제 링크

202

풀이 사항

kro46 commented 1 week ago

문제 링크

206

풀이 사항

풀이 일자: 2024.09.05 풀이 시간: 3시간 32분 채점 결과: 정답 예상 문제 유형: 구현/BFS 시간: 108 ms 메모리: 14,540 kb

풀이 방법

여러 색상 그룹이 동시에 터질 수 있기 때문에 while(true)로 전체를 감싸서 하나의 색상이라도 폭발이 일어나면, 연쇄 폭발 수를 +1해주고 만약 하나도 터지지 않았다면 break; --> 이 부분 처리를 어떻게 하는지 몰라서 승규 형님의 도움을 받음(압도적 감사!) while문 안에서는 bfs로 같은 색상의 뿌요를 탐색하여 4개 이상이면 해당 위치를 '.'으로 변경하고 isPoped를 true로 반환, 모든 색상 검사가 끝나면 down() 을 수행한다. 만약 단 하나의 색상도 폭발이 일어나지 않으면 false를 반환하고 반복문을 탈출한다.

kimjuheee commented 1 week ago

문제 링크

208

풀이 사항

풀이 방법