아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
귀중한말벌145
귀중한말벌14520.12.14

java 배열 프로그래밍 질문

그림과 같이 4행 3열의 배열이 있는데 오른쪽 그림과같이 숫자 배열을 바꾸려면 어떻게 코딩해야 하나요?

아래에 있는 11 12를 위로 올리고 그 위에 내용은 밑으로 쭉 내리고 싶습니다....ㅎㅎ 도와주십쇼

55글자 더 채워주세요.
답변의 개수
1개의 답변이 있어요!
  • 이런건 다중 for 문을 사용하려 문제를 푸시면 됩니다

    4행 3열이라는게 나왔으므로

    위치값으로 살펴보면

    (y값,x값) 으로 표시함

    -------

    (1,1)(1,2)(1,3)

    (2,1)(2,2)(2,3)

    (3,1)(3,2)(3,3)

    (4,1)(4,2)(4,3)

    --------

    이렇게 되겠네요

    그러면 위 표를 보면

    (4,2) => (1,2)

    (4,3) => (1,3)

    (1,2) => (2,2)

    (1,3) => (2,3)

    (2,2) => (2,2)

    (2,3) => (2,3)

    (3,2) => (3,2)

    (3,3) => (3,3)

    이렇게 해당 xy측에 있는 상수값을 이동해주면 됩니다만, 바로 저렇게 이동시키게 되면

    이동이 아니라 경우에 따라 한가지 숫자로 도배가 됩니다

    즉, 이동해야 할 자리의 숫자를 보전해줘야 하는거죠

    그래서 이를 로직상 다시 정리해보면?

    (4,2) => buff2

    (4,3) => buff3

    (3,2) => (4,2)

    (3,3) => (4,3)

    (2,2) => (3,2)

    (2,3) => (3,3)

    (1,2) => (2,2)

    (1,3) => (2,3)

    buff2=> (1,2)

    buff3=> (2,2)

    이렇게 옮겨주면 됩니다

    # basic 프로그램으로 코딩한다면 아래처럼 됩니다 # 배열은 arr(4,3) 이라고 정의합니다 dim arr(4,3) ... 이 부분에 2차원 배열에 원하는 값 넣어주세요 ... buff2 = arr(4,2) buff3 = arr(4,3) for y = 3 to 1 step -1 arr(y,2) = arr(y+1,2) arr(y,3) = arr(y+1,3) next y arr(1,2) = buff2 arr(1,3) = buff3

    이걸 다른 언어로 코딩한다고 해도 로직은 동일하니 해당 명령문을 해당 타언어로 컨버전해서

    사용하시면 됩니다