본문 바로가기
Algorithms/Programmers

Programmers - triangular snail

by Pinocchio 2021. 8. 18.

My solution in Python for 'Programmers-Triangular snail' 

Requests for explanation or comments on the code are always welcome.

 

Q. https://programmers.co.kr/learn/courses/30/lessons/68645

 

코딩테스트 연습 - 삼각 달팽이

5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11]

programmers.co.kr

A. https://github.com/Ihyun/Algorithms/blob/master/Programmers/triangular%20snail.py

 

GitHub - Ihyun/Algorithms

Contribute to Ihyun/Algorithms development by creating an account on GitHub.

github.com

# 프로그래머스 - 삼각 달팽이
# https://programmers.co.kr/learn/courses/30/lessons/68645

def solution(n):
    answer = []
    direction = [(1, 0), (0, 1), (-1, -1)]

    for i in range(n):
        temp = []
        for j in range(i + 1):
            temp.append(0)
        answer.append(temp)

    number = 1
    r = -1
    c = 0
    for i in range(n, 0, -1):
        for j in range(i):
            r += direction[(n - i) % 3][0]
            c += direction[(n - i) % 3][1]

            answer[r][c] = number
            number += 1

    real_answer = []
    for i in answer:
        for j in i:
            real_answer.append(j)

    return real_answer


'''
정확성  테스트
테스트 1 〉	통과 (0.01ms, 10.2MB)
테스트 2 〉	통과 (0.01ms, 10.2MB)
테스트 3 〉	통과 (0.01ms, 10.4MB)
테스트 4 〉	통과 (2.06ms, 10.9MB)
테스트 5 〉	통과 (2.67ms, 10.9MB)
테스트 6 〉	통과 (1.63ms, 10.8MB)
테스트 7 〉	통과 (187.78ms, 58.6MB)
테스트 8 〉	통과 (185.54ms, 60.2MB)
테스트 9 〉	통과 (201.88ms, 60.2MB)
'''

 

'Algorithms > Programmers' 카테고리의 다른 글

Programmers - 문자열 압축  (2) 2021.08.29
Popping a balloon  (0) 2021.08.29
Programmers - camouflage  (0) 2021.08.29

댓글