728x90
반응형
문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/87390
틀린 풀이:
def solution(n, left, right):
list = [i for i in range(1,n+1)]
res = []
for i in range(n):
if i == 0:
res.append(list)
elif i > 0:
res.append([i+1]*(i+1)+list[i+1:])
res = sum(res, [])
return(res[left:right+1])
몇 개는 맞고 시간초과가 나온다.
다른 풀이:
# (0,0) 1 이고
# (0,1),(1,0)(1,1) 2 이고
# (0,2),(1,2),(2,0),(2,1),(2,2) 3이다
잘 보면 x,y 값중 0,0 이면 1 , 1이 들어가면 2 , 2가 들어가면 3이 나온다.
규칙은 알겠는데 코드로는 생각이 안나서
참고함
def solution(n, left, right):
answer = []
for i in range(left,right+1):
x = i // n # 몫
y = i%n #나머지
answer.append(max(x,y)+1)
return answer
반응형
댓글