profile
뉴비

백준 12100. 2048 (Easy) (Python)

문제: https://www.acmicpc.net/problem/12100 풀이 상하좌우 4가지로 이동할때의 함수를 만들고 dfs로 매번 상하좌우 전체의 경우를 구해본다. 그리고 5번째에 각 배열에서 최대의 값을 비교한다. 처음엔 단순무식하게 진행했다. 상하좌우 각 함수를 ex) 상(up)일 경우 idx=1(편의상 0말고 1부터 이동)이 0일경우, 아래의 칸들을 모두 위로 1칸씩 올린다. idx=1이 0이 아니고 idx=2의 값과 같을경우, idx=2의 값을 0으로 바꾸고 idx=1의 값을 *2한다 그리고 idx+=1 아래의 알고리즘의 문제점은 아래의 테스트케이스에서 나타났다(14%에서 틀렸습니다. 뜸). 5 2 2 4 8 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 4 8 16 -> up 진행시 4 4 8 16 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 위의 정답결과가 아니라 아래의 결과가 나온다 2 2 4

2023년 2월 23일
·
0개의 댓글
·
post-thumbnail

SWEA 1486. 장훈이의 높은 선반(Python)(D4)

주어진 점원들의 키의 합중 B에 가장 가깝고 B보다 크거나 같은 값을 찾는 문제이다. 점원들의 부분집합들을 dfs(백트래킹)을 통해 계산하며, 합이 B와같거나 클경우 합과 결과값중 낮은값으로 계속 갱신해준다!

2023년 2월 7일
·
0개의 댓글
·