프로그래머스 키패드 누르기(2020 카카오 인턴십)
난이도 LV1 풀이 구현 문제였다. 키패드를 딕셔너리형의 자료구조를 이용해서 구현을 한 다음, 거리를 구해줘서 해당 조건에 맞게 코드를 작성하면 된다. def solution(numbers, hand): answer = '' leftPos = '*' rightPos = '#' phone = { 1: (0, 0), 2: (0, 1), 3: (0, 2), 4: (1, 0), 5: (1, 1), 6: (1, 2), 7: (2, 0), 8: (2, 1), 9: (2, 2), '*': (3, 0), 0: (3, 1), '#': (3, 2) } for num in numbers: if num == 1 or num == 4 or num == 7 or num == '*': answer += 'L' leftPos = n..
2023. 3. 10.
BOJ 1913번 - 달팽이
난이도 실버 III 풀이 구현 문제이다. 주어진 표에 달팽이 모양으로 숫자를 채워야 하는데 이 로직을 생각하는데 좀 어려웠다. dx와 dy 배열을 두어서 그래프 좌표를 이동하도록 두고, 방향을 바꿔주는 것은 그래프의 범위를 넘어갈때 4를 나눠서 나머지를 통해서 dx,dy를 한칸씩 이동하도록 구현해주었다. import sys input = sys.stdin.readline N=int(input()) num=int(input()) snail=[[0]*N for _ in range(N)] x,y=0,0 target_x,target_y=0,0 direction=0 dx=[1,0,-1,0] dy=[0,1,0,-1] cnt=N**2 snail[x][y]=cnt cnt-=1 while cnt>0: nx=x+dx[di..
2023. 3. 5.