티스토리 뷰

BOJ

[백준 12100] 2048(Easy)

wo_ody 2020. 2. 29. 16:27

안녕하세요 !!! 우디 입니다 .

오늘은 DFS 로 푸는 2048(Easy) 을 설명해드릴께요 ~

 

문제

BOJ 12100번 2048(Easy) 바로가기

 

문제 설명

이 문제의 핵심은

  • DFS로 순환구조 잡기
  • 상 하 좌 우 옮기는 작업

이 두가지만 기억하고 문제를 풀면 됩니다 ! (말로는 참 간단하죠 ,,?^^)

우선, 이 문제가 왜 DFS 로 접근해야 하는지 설명해드리겠습니다.

따라서 5번 동안 상,하,좌,우 이 4방향을 중복이 가능하게 나열을 해야합니다.


(또한,
최대 5번 이므로 1번을 움직여서 최대가 나올 수 있고 2번을 움직여서 최대가 나올 수 있는 등 예측하지 못하기 때문에 한번 이동했을 때마다 전체 배열을 순회하여 최댓값을 갱신해주는 작업이 필요합니다.)



트리🌳

 

휴도 코드 👍

 

다음으로, 각 방향마다 옮기는 작업을 어떤 구조로 했는지 알려드리겠습니다.

상,화,좌,우 각 함수 모두 구조는 똑같고 안의 배열을 순회할 때 index만 달라지므로 상 함수를 예로 들어 설명하겠습니다.

 

구현

 

어려운 점 및 개선점

DFS 순환 구조를 생각하는 것과 배열 옮기는 과정에서 index 적재하는 부분이 조금 까탈스러웠다. 모든 경우의 수를 꼼꼼히 생각하지 않아서 그런 것 같다. 앞으로 DFS 문제를 더 많이 풀어야 순환 구조도 금방 짤 수 있을 것 같다. 이번 달 안에 백준에 올라온 삼성 기출 문제 다 풀 것이다 !!!!!!!!!!!!!👊

'BOJ' 카테고리의 다른 글

[백준 14502] 연구소  (0) 2020.04.15
[백준 13460] 구슬탈출 2  (0) 2020.04.13
[백준 14500] 테트로미노  (0) 2020.03.29
[백준 14501] 퇴사  (0) 2020.03.24
[백준 17070] 파이프 옮기기 1  (0) 2020.02.16
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함