삼각 달팽이
삼각형을 그리면서 달팽이를 순차적으로 만드는 문제로 진행 방향을 회전시켜서 만드는 문제이다.
처음에는 삼각형 모양의 데이터를 만드는데 집중했는데 실제 결과 데이터만 잘 만들면 된다.
중복 반복문을 통해서 진행 방향을 회전 시킨다.
처음에는 ↓(0,+1)으로 최대치까지 진행 이후에 →(+1,0) 방향, 그리고 ↖(-1,-1)으로 회전을 진행한다. n번만큼 회전을 하게 되면 끝난다. 순차적으로 value를 증가시키고 이후에 데이터가 존재하는 List를 리턴하는 것으로 진행한다.
URL : programmers.co.kr/learn/courses/30/lessons/68645#qna
using System.Collections.Generic;
public int[] solution(int n)
{
List<int> answer = new List<int>();
int[,] arr = new int[n, n];
int value = 1;
int x = -1;
int y = 0;
for (int i = 0; i < n; i++)
{
for (int j = i; j < n; j++)
{
if (i % 3 == 0) //진행방향 ↓
x++;
else if (i % 3 == 1) // 진행방향 →
y++;
else if (i % 3 == 2) //진행방향 ↖
{
x--; y--;
}
arr[x, y] = value++;
}
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (arr[i, j] == 0)
break;
answer.Add(arr[i, j]);
}
}
return answer.ToArray();
}
★☆☆☆☆
반응형
'개발 > 문제풀이' 카테고리의 다른 글
문제풀이)프로그래머스) 로또의 최고 순위와 최저 순위 (0) | 2022.07.19 |
---|---|
문제풀이)프로그래머스)2022 KAKAO BLIND RECRUITMENT -신고 결과 받기 (0) | 2022.07.19 |
문제풀이)프로그래머스)c#)계산기 (2) | 2021.02.01 |
문제풀이)프로그래머스)c#) 여행경로 (0) | 2020.12.23 |
문제풀이)프로그래머스)c#) 가장 큰 수 (0) | 2020.09.07 |
댓글