{"id":902,"date":"2019-04-07T00:49:18","date_gmt":"2019-04-06T15:49:18","guid":{"rendered":"https:\/\/dong1lkim.oboki.net\/?p=902"},"modified":"2019-09-01T22:23:15","modified_gmt":"2019-09-01T13:23:15","slug":"12100-2048-easy","status":"publish","type":"post","link":"https:\/\/oboki.net\/workspace\/python\/12100-2048-easy\/","title":{"rendered":"[BaekJoon Online Judge] 12100 &#8211; 2048 (Easy)"},"content":{"rendered":"<h1>[BaekJoon Online Judge] 12100 &#8211; 2048 (Easy)<\/h1>\n<h2>\ubb38\uc81c<\/h2>\n<p><a href=\"https:\/\/www.acmicpc.net\/problem\/12100\"><a href=\"https:\/\/www.acmicpc.net\/problem\/12100\">https:\/\/www.acmicpc.net\/problem\/12100<\/a><\/a><\/p>\n<h2>\uc18c\uc2a4\ucf54\ub4dc<\/h2>\n<p>\ubb38\uc81c\uc5d0\uc11c \ucd5c\ub300 \ub2e4\uc12f \ubc88\uc758 \ubc29\ud5a5 \uc804\ud658\uc774 \uac00\ub2a5\ud558\ub2e4\uace0 \uc81c\uc57d\uc744 \uac78\uc5c8\uae30 \ub54c\ubb38\uc5d0, 5\uc911 \ub8e8\ud504\ub97c \ub3cc\ub824\uc11c \uac00\ub2a5\ud55c \ubaa8\ub4e0 \uacbd\uc6b0\uc758 \uc218\ub97c \ub9cc\ub4e4\uc5c8\ub2e4.<\/p>\n<p>\uc55e\uc11c \ub9cc\ub4e0 \uacbd\uc6b0\uc5d0 \uc218\uc5d0 \ub300\ud574, \ubb38\uc81c\uc5d0\uc11c \uc124\uba85\ud55c 2048 \uac8c\uc784\ub8f0(\ubc29\ud5a5 \uc804\ud658\uc5d0 \ub530\ub77c \ube14\ub85d\uc774 \ud569\uccd0\uc9c0\ub294 \uc870\uac74)\uc744 \ub178\uac00\ub2e4\ub85c \uc791\uc131\ud574\uc11c \ubb38\uc81c\ub97c \ud574\uacb0\ud560 \uc218 \uc788\uc5c8\ub2e4.<\/p>\n<pre><code class=\"py\">from copy import deepcopy\ndef game(direction):\n    global b\n    if direction == 0: # \uc624\ub978\ucabd\n        for i in range(N):\n            tmp = []\n            for j in range(N):\n                if b[i][j] != 0:\n                    tmp.append(b[i][j])\n            for _ in range(N-len(tmp)):\n                tmp.insert(0,0)\n            b[i] = tmp\n        for i in range(N):\n            for j in range(N-1,0,-1):\n                if b[i][j] == b[i][j-1]:\n                    b[i][j] *= 2\n                    for k in range(j-1,0,-1):\n                        tmp = b[i][k]\n                        b[i][k] = b[i][k-1]\n                        b[i][k-1] = tmp\n                    b[i][0] = 0 \n    if direction == 1: # \uc544\ub7ab\ucabd\n        for i in range(N):\n            tmp = []\n            for j in range(N):\n                if b[j][i] != 0:\n                    tmp.append(b[j][i])\n            for j in range(N-len(tmp)):\n                b[j][i] = 0\n            for j in range(N-len(tmp),N):\n                b[j][i] = tmp.pop(0)\n        for i in range(N):\n            for j in range(N-1,0,-1):\n                if b[j][i] == b[j-1][i]:\n                    b[j][i] *= 2\n                    for k in range(j-1,0,-1):\n                        tmp = b[k][i]\n                        b[k][i] = b[k-1][i]\n                        b[k-1][i] = tmp\n                    b[0][i] = 0 \n    if direction == 2: # \uc67c\ucabd\n        for i in range(N):\n            tmp = []\n            for j in range(N):\n                if b[i][j] != 0:\n                    tmp.append(b[i][j])\n            for _ in range(N-len(tmp)):\n                tmp.append(0)\n            b[i] = tmp\n        for i in range(N):\n            for j in range(N-1):\n                if b[i][j] == b[i][j+1]:\n                    b[i][j] *= 2\n                    for k in range(j+1,N-1):\n                        tmp = b[i][k]\n                        b[i][k] = b[i][k+1]\n                        b[i][k+1] = tmp\n                    b[i][N-1] = 0 \n    if direction == 3: # \uc717\ucabd\n        for i in range(N):\n            tmp = []\n            for j in range(N):\n                if b[j][i] != 0:\n                    tmp.append(b[j][i])\n            k = len(tmp)\n            for j in range(k):\n                b[j][i] = tmp.pop(0)\n            for j in range(k,N):\n                b[j][i] = 0\n        for i in range(N):\n            for j in range(N-1):\n                if b[j][i] == b[j+1][i]:\n                    b[j][i] *= 2\n                    for k in range(j+1,N-1):\n                        tmp = b[k][i]\n                        b[k][i] = b[k+1][i]\n                        b[k+1][i] = tmp\n                    b[N-1][i] = 0 \n\nN = int(input())\nblock = [list(map(int,input().split())) for _ in range(N)]\n\ncase = []\nfor i in range(4):\n    for j in range(4):\n        for k in range(4):\n            for l in range(4):\n                for m in range(4):\n                    case.append([i,j,k,l,m])\nans = 0\nfor c in case:\n    b = deepcopy(block)\n    for direction in c: game(direction)\n    tmp = 0\n    for i in range(N):\n        for j in range(N):\n            if b[i][j] &gt; tmp:\n                tmp = b[i][j]\n    if tmp &gt; ans:\n        ans = tmp\nprint(ans)\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>[BaekJoon Online Judge] 12100 &#8211; 2048 (Easy) \ubb38\uc81c https:\/\/www.acmicpc.net\/problem\/12100 \uc18c\uc2a4\ucf54\ub4dc \ubb38\uc81c\uc5d0\uc11c \ucd5c\ub300 \ub2e4\uc12f \ubc88\uc758 \ubc29\ud5a5 \uc804\ud658\uc774 \uac00\ub2a5\ud558\ub2e4\uace0 \uc81c\uc57d\uc744 \uac78\uc5c8\uae30 \ub54c\ubb38\uc5d0, 5\uc911 \ub8e8\ud504\ub97c \ub3cc\ub824\uc11c \uac00\ub2a5\ud55c \ubaa8\ub4e0 \uacbd\uc6b0\uc758 \uc218\ub97c \ub9cc\ub4e4\uc5c8\ub2e4. \uc55e\uc11c \ub9cc\ub4e0 \uacbd\uc6b0\uc5d0 \uc218\uc5d0 \ub300\ud574, \ubb38\uc81c\uc5d0\uc11c \uc124\uba85\ud55c 2048 \uac8c\uc784\ub8f0(\ubc29\ud5a5 \uc804\ud658\uc5d0 \ub530\ub77c \ube14\ub85d\uc774 \ud569\uccd0\uc9c0\ub294 \uc870\uac74)\uc744 \ub178\uac00\ub2e4\ub85c \uc791\uc131\ud574\uc11c \ubb38\uc81c\ub97c \ud574\uacb0\ud560 \uc218 \uc788\uc5c8\ub2e4. from copy import deepcopy def game(direction): global [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22,10],"tags":[34,95],"class_list":["post-902","post","type-post","status-publish","format-standard","hentry","category-baekjoon-online-judge","category-python","tag-python","tag-95"],"_links":{"self":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/posts\/902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/comments?post=902"}],"version-history":[{"count":2,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/posts\/902\/revisions"}],"predecessor-version":[{"id":1348,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/posts\/902\/revisions\/1348"}],"wp:attachment":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/media?parent=902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/categories?post=902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/tags?post=902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}