import sys
input = sys.stdin.readline
n = int(input())
ar = [ [0 for j in range(int(n))] for i in range(int(n))]
cnt = 1
i = 0
j = 0
ar[0][0] = [1],[1]
sum = 1
for k in range(n):
cnt = cnt + 1
if cnt % 2 == 0: #짝수
j = cnt - 1
i = 0
else: #홀수
i = cnt - 1
j = 0
for x in range(cnt):
if cnt % 2 == 0:
ar[i][j] = str(i+1) + '/' + str(j+1)
sum = sum + 1
if n == sum:
print(ar[i][j])
j = j - 1
i = i + 1
else:
ar[i][j] = str(i+1) + '/' + str(j+1)
sum = sum + 1
if n == sum:
print(ar[i][j])
break
j = j + 1
i = i - 1
if i < 0 or j < 0 or n == sum:
break
if n == sum:
break
내가 푼 코드.. 하지만 메모리 초과가 났다.. (시간 초과도 날 것 같았음)
짝수 라인 : 분모가 1씩 늘어나고 분자가 1씩 줄어듦
홀수 라인 : 분자가 1씩 늘어나고 분모가 1씩 줄어듦
이것까지는 캐치했지만, 그 다음부터 지그재그로 2차원 배열에 저장을 하며 풀었더니 낭비하는 메모리가 많아진 것 같다.
엉엉.. 이런 아이디어는 어떻게 나시는 걸까 😭
문제: 2차원 배열처럼 생김
나: 넵!!! 2차원 배열 만들기!!!!
로 살아가고 있다..
문제를 곧이 곧대로 풀려고 하면 안되고, 무조건 규칙을 찾아 쉬운 방법으로 접근하도록 노력해야겠다..
'Algorithm' 카테고리의 다른 글
[11650, 11651] 파이썬 한 줄 입력받기 (0) | 2024.07.10 |
---|---|
[1181] 문자열 리스트 정렬, 중복 제거 (0) | 2024.07.08 |
[4673] 재귀함수를 사용한 셀프넘버 (0) | 2024.07.05 |
[1316] Python 문자열 찾는 함수 in (0) | 2024.07.04 |
파이썬 기본 문법 정복하기! / C언어랑 파이썬 비교 (2) | 2024.02.19 |