JAVA

<JAVA_PreClass_231013금>

Technoqueen_X 2023. 10. 13. 14:35
728x90
반응형

  <A와 B의 교환 알고리즘 방법>

    임시변수<-> A <-> B
 1. 임시변수에 A값을 넣는다.
 2. A의 값에 B를 넣는다. 
 3. 1번에서 만든 임시변수 값을(A) B에 넣는다.

 

ex)

int room = lotto[0]; // 임시변수에 A값(0번째)을 넣는다.
lotto[0] = lotto[com]; // A의 값에 B를 넣는다. 
lotto[com] = room; // B의 값은 1번에서 만든 임시변수 값이다.

 

------------------------------------------------------------

 

<2차원 배열 array>

 

int [] [] c = new int [3] [4] // 3행4열을 의미

array [3] [4] = 9; // 3행4열에 9라는 숫자가 들어가 있다.

array [3]; // 3행 전체를 의미 

 

2차원 배열에서는 행열을 다 돌아야하므로 for문이 2개가 필요하다.

안에 for 반복문 (하나의 행 안에서 열을 도는 것)

밖에 for 반복문 (하나의 열 안에서 행을 도는 것)

 

2차원에서 .length는 행수를 의미 (열수 아님)

2차원에서 c[i].length는 열수를 의미

 

int [][] c = new int [3][4];

for (int i=0; i<c.length; i++) { //행 수 만큼 반복
for (int j=0; j<c[i].length; j++) { // 한 행의 열 수 만큼 반복
}
}

 

------------------------------------------------------------

 

<연습문제>

 

// 문제 : 6개의 랜덤 로또 번호를 생성해라.

 

// 풀이 : 

// 1. 45개의 로또 숫자가 들어갈 방을 생성
// 2. 로또 배열 1~45까지 넣어라.
// 3. 2000개 숫자중 임의의 방 번호를 추출하기 (int)(Math.random()*45)// 0~44까지 추출하는 함수 사용
// 4. 첫번째 방(값) 고정해놓고 random함수로 발생된 수의 방의 값을 교환하기
// 5. 로또배열 0부터 5개까지 (앞에서부터 6개의 요소를 출력)

 

// 답 :

 

// 문제 : 3행4열을 출력하는데, 

c 배열의 i번째 행과 j번째 열에 i+1 값을 할당하여 뽑아내라.

 

// 풀이 :

 

// 답 :

 

// 문제 : 3행 4열을 순차적으로 숫자를 뽑아내 보아라.

 

// 풀이 :

// 숫자를 저장할 변수 num을 선언하고, 초기값을 1로 설정

// 2차원 배열의 각 요소에 값을 저장하고 출력할 거임

// 2차원 배열의 행을 도는 반복문을 만들고

// 2차원 배열의 열을 도는 반복문을 만들고

// 2차원 배열의 i번째행 j번째열에 num의 값을 저장하는데, num은 num++를 통해 증가함.

// 그 이후에 2차원 배열의 i번째 행 j번째 열의 값을 출력

 

// 답 :

 

// 문제 : 3행4열의 0번째 열의 합과 1번째 열의 합을 구하시오

 

// 풀이 :

// col (column 열)

 

// 답 :

0번째 열의 합 = 15

1번째 열의 합 = 18

 

// 문제 : 3행4열의 0번째 열의 합과 1번째 열의 합을 구하시오.
그리고 0번째 행의 합과 1번째 행의 합과 2번째 행의 합도 구하시오.

 

// 풀이 : 

 

// 답 :

0번째 열의 합 = 15

1번째 열의 합 = 18

0번째 행의 합 = 10

1번째 행의 합 = 26

2번째 행의 합 = 42

728x90
반응형

'JAVA' 카테고리의 다른 글

<JAVA_PreClass_231017화>  (0) 2023.10.17
<JAVA_PreClass_231016월>  (0) 2023.10.16
<JAVA_PreClass_231012목>  (2) 2023.10.12
<JAVA_PreClass_231011수>  (2) 2023.10.11
<JAVA_PreClass_231010화>  (0) 2023.10.10