백준 2

[백준 문제풀이] 12100번 2048(Easy)

''' 2048 게임의 핵심 중의 하나는 방향키를 움직였을 때 숫자가 합쳐지는 부분입니다. 해당 부분을 reduce 함수로 분리하고, In/Out을 먼저 정의합니다. reduce 함수는 N길이의 l을 입력으로 받고, N길이의 리스트를 반환합니다. 내부 동작으로 숫자들을 한쪽에 모아 합친 뒤 반환하며 반환값은 N길이의 리스트를 반환합니다. 그 뒤로 mv_up/down/left/right함수를 작성하고 최종으로 함수를 활용하기위하여 DFS 를 작성하여 동작시킵니다. Depth는 문제에서 정의한 대로 5로 구현됩니다. ''' import sys # sys.stdin = open("12100.txt", "r") input = sys.stdin.readline N = i..

프로그램/Python 2022.05.02

[백준 문제풀이] 15685번 드래곤 커브

파이썬을 이용하여 다시 풀어본 드래곤 커브 문제이다. 18년도 삼성전자 코딩 테스트에 기출되었던 문제이고, 보통은 스택을 이용하여 푸는 방식이 일반적인 것 같다. 일전에 풀었을 때는 미리 드래곤 커브를 모두 만들어 놓는 방식으로 만들려고 했다. 드래곤 커브에서는 end 기준으로 90도 회전하도록 되어 있어 아래와 같은 수도코드를 이용하여 최대 generation인 10에 맞추어 모든 행렬을 사전에 만들어 놓고 주어진 수에 합성하는 방식으로 짰었다. 거기다가 C로 짜니 코딩하는 시간이 많이 걸릴 수밖에... ARR1 = find end point and transition to [end_x, end_y] = 0 for all point: ARR2[nx; ny] = [cos sin; -sin -cos]*[x..

프로그램/Python 2022.04.24