C# - 배열 심화 문제 - 2차원 배열 swap

2025. 9. 11. 00:03·C#

지금까지의 포스팅을 통해 배운 내용을 활용하여 문제를 해결해보자.

 

4x4 16개의 정수를 담을 수 있는 2차원 배열을 만든 후, 반복문을 이용하여 3의 배수들로 채워 넣는다.

그 후 2행 3열 요소와 3행 2열 요소를 바꾼 뒤 출력해보자

1. int형 2차원 배열을 선언

2. 반복문을 통하여 순서대로 3의 배수들을 채워 넣음

3. 2행3열 요소와 3행 2열 요소를 바꾼다

4. 4x4의 형태로 들어있는 숫자들을 출력

※인간의 언어로 2행 3열 입니다. 0부터가 아닌 1부터 시작이라고 가정합니다.

 

친절하게도 구현해야할 코드가 스텝 별로 정리돼있다.

바로 작성해보자

 

1. int형 2차원 배열을 선언

using System;

namespace CsharpStudy
{
    internal class Program
    {
        static void Main()
        {
            // 4x4의 int형 2차원 배열 선언
            int[,] ints = new int[4,4];
        }
    }
}

 

2. 반복문을 통하여 순서대로 3의 배수들을 채워 넣음

2중 for문을 이용해 각 자리수에 3의 배수를 차례대로 채워넣으면 된다.

배열의 길이가 달라지는 경우에 대응하기 위해 확장성을 고려해 GetLength를 이용하여 조건식을 만들어 봤다.

using System;

namespace CsharpStudy
{
    internal class Program
    {
        static void Main()
        {
            // 4x4의 int형 2차원 배열 선언
            int[,] ints = new int[4,4];

            // 반복문을 통해 순서대로 3의 배수들로 2차원 배열을 채워 넣음
            int num = 3;
            for (int i = 0; i < ints.GetLength(0); i++)
            {
                for (int j = 0; j < ints.GetLength(1); j++)
                {
                    ints[i, j] = num;
                    num += 3;
                }
            }

    }
}

 

3. 2열 3행 요소와 3열 2행 요소를 바꾼다.

swap을 위해 임시로 값을 저장해둘 temp 변수를 만들어 적용하면 쉽다.

using System;

namespace CsharpStudy
{
    internal class Program
    {
        static void Main()
        {
            // 4x4의 int형 2차원 배열 선언
            int[,] ints = new int[4,4];
            
            // 반복문을 통해 순서대로 3의 배수들로 2차원 배열을 채워 넣음
            int num = 3;
            for (int i = 0; i < ints.GetLength(0); i++)
            {
                for (int j = 0; j < ints.GetLength(1); j++)
                {
                    ints[i, j] = num;
                    num += 3;
                }
            }

            // 2행 3열과 3행 2열의 요소를 swap
            int temp = ints[1, 2];
            ints[1, 2] = ints[2, 1];
            ints[2, 1] = temp;
        }
    }
}

 

4. 4x4의 형태로 들어있는 숫자들을 출력

다시 2중 for문을 이용해 순서대로 출력하면 끝난다.

using System;

namespace CsharpStudy
{
    internal class Program
    {
        static void Main()
        {
            // 4x4의 int형 2차원 배열 선언
            int[,] ints = new int[4,4];

            // 반복문을 통해 순서대로 3의 배수들로 2차원 배열을 채워 넣음
            int num = 3;
            for (int i = 0; i < ints.GetLength(0); i++)
            {
                for (int j = 0; j < ints.GetLength(1); j++)
                {
                    ints[i, j] = num;
                    num += 3;
                }
            }

            // 2행 3열과 3행 2열의 요소를 swap
            int temp = ints[1, 2];
            ints[1, 2] = ints[2, 1];
            ints[2, 1] = temp;

            // 4 x 4 형태로 출력
            for (int i = 0; i < ints.GetLength(0); i++)
            {
                for (int j = 0; j < ints.GetLength(1); j++)
                {
                    Console.Write(ints[i,j] + " ");
                }
                Console.WriteLine();
            }
        }
    }
}

 

 

30과 21의 자리가 잘 바뀌어서 4x4로 정렬되어 출력된다.

EZ

'C#' 카테고리의 다른 글

C# - 배열 심화 문제 - 스킬 쿨타임 갱신  (0) 2025.09.11
C# - 배열 심화 문제 - 인벤토리 크기 지정하기  (0) 2025.09.11
C# - 함수 (Function)  (0) 2025.09.10
C# - 값 타입 (Value Type), 참조 타입 (Reference Type)  (0) 2025.09.10
C# - 배열 ( Array )  (0) 2025.09.08
'C#' 카테고리의 다른 글
  • C# - 배열 심화 문제 - 스킬 쿨타임 갱신
  • C# - 배열 심화 문제 - 인벤토리 크기 지정하기
  • C# - 함수 (Function)
  • C# - 값 타입 (Value Type), 참조 타입 (Reference Type)
ellug
ellug
Web / App / Game Dev
  • ellug
    dev.ellug
    ellug
  • 전체
    오늘
    어제
    • 분류 전체보기 (95)
      • Javascript (React, Next) (1)
      • C# (66)
      • Graphics (1)
      • Unity (25)
      • 프로그래머스 (0)
        • Lv.0 (0)
        • Lv.1 (0)
        • Lv.2 (0)
        • Lv.3 (0)
      • AI Agent (0)
      • StableDiffusion (0)
      • ETC (1)
      • 잡담 (0)
      • 유머 (0)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Abstract
    Design Pattern
    스택
    자료구조
    콘솔
    Photon
    알고리즘
    C#
    네트워크
    유니티
    게임
    console
    interface
    Network
    firebase
    inputsystem
    stack
    list
    Queue
    터미널
    class
    unity
    struct
    useState
    delegate
    function
    큐
    추상 클래스
    클래스
    최적화
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
ellug
C# - 배열 심화 문제 - 2차원 배열 swap
상단으로

티스토리툴바