본문 바로가기
프로그래머스

n^2 배열 자르기 (C#)

by LemongO 2024. 6. 4.

📌프로그래머스 87390

💡풀이

  • 정수 List를 만든다.
  • for문으로 주어진 left ~ right 까지만 조건을 걸어 반복한다.
  • 각 길이가 n인 행렬의 x, y 좌표를 구한다고 생각한다.
  • x 좌표는 i / n, y 좌표는 i % n. 둘 중 더 큰 값을 넣는다.
  • 해당 좌표에 들어가있는 값은 (x or y) + 1이다.
public int[] n2제곱배열자르기(int n, long left, long right)
{            
    List<int> list = new List<int>();

    // 2차원 배열이라고 생각하고 x, y 좌표를 찾는다.
    // 해당 좌표의 x, y 값 중 더 큰 값을 추가.
    for(long i = left; i <= right; i++)
    {
        int x = (int)(i / n);
        int y = (int)(i % n);

        int value = x > y ? x + 1 : y + 1;
        list.Add(value);                
    }

    return list.ToArray();
}

 

자르고 뭐고 할 거 없이 x, y 좌표를 찾아 x, y 중 더 큰 값을 넣으면 되는 문제였다.

'프로그래머스' 카테고리의 다른 글

H-Index (C#)  (0) 2024.06.06
할인 행사 (C#)  (1) 2024.06.05
주사위 게임 2 (C#)  (0) 2024.06.03
수 조작하기 2 (C#)  (0) 2024.06.03
9로 나눈 나머지 (C#)  (0) 2024.06.03