FIF's 코딩팩토리

자바 기초 NCS교육과정(11)-배열 문제풀이 본문

Back-End/국비 NCS교과과정

자바 기초 NCS교육과정(11)-배열 문제풀이

FIF 2019. 7. 9. 16:20
반응형

이번 시간은 문제풀이 시간 입니다.

코드를 바로 보지 마시고, 충분한 시간을 가지고 고민해 보세요!

생각하는 시간이 많을수록 실력은 향상됩니다.

 

 

Prob_01.java

  num배열에서 최대값을 출력하는 프로그램을 구현하시오.
  [출력결과]
  최대값:95

 

 

 

 

 

 

 

 

 

 

 

public class Prob_01 {
public static void main(String[] args) {
int[] num = { 94, 85, 95, 88, 90 };
int max = num[0];
for (int i = 1; i < num.length; i++) {
if (max < num[i]) {
max = num[i];
}
}
System.out.println("최대값:" + max);
}// end main()
}// end class

Prob_02.java

  4행 4열 data배열에 가로 세로 합계를 구하는 프로그램을 구현하시오.
  [출력결과]
   1   2   3   6
   4   5   6  15
   7   8   9  24
  12  15  18  45

 

 

 

 

 

 

 

 

 

public class Prob_02 {
public static void main(String[] args) {
int[][] data = new int[4][4];
int cnt = 1;
// 여기를 구현하시오.
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
data[i][j] = cnt++;
}
}
//////////////////
//연산
for(int i=0; i<data.length-1;i++){
for(int j=0; j<data[i].length-1; j++){
data[i][3]+=data[i][j];
data[3][j]+=data[i][j];
}
data[3][3]+=data[i][3];
}
///////////////////////////////
//출력
for(int i=0; i<data.length;i++){
for(int j=0; j<data[i].length;j++){
System.out.printf("%4d",data[i][j]);
}
System.out.println();
}
}// end main()
}// end class

Prob_03.java

num배열의 합계와 평균을 구하는 프로그램을 구현하시오.
   출력결과
   합계: 243
   평균:  81

 

 

 

 

 

 

 

 

 

public class Prob_03 {
public static void main(String[] args) {
int num[]=new int[]{60,95,88};
//여기를 구현하시오.
int sum=0;
for(int i=0;i<num.length;i++){
sum+=num[i];
}
System.out.printf("합계:%4d\n",sum);
System.out.printf("평균:%4d",sum/num.length);
}//end main()
}//end class

Prob_04.java

  배열에 저장된 요소의 갯수만큼 문자를 출력하는 프로그램을 구현하시오.
  출력결과
  @@@
  @@
  @@@@@
  @@@@@@
  @

 

 

 

 

 

 

 

 

 

 

public class Prob_04 {
public static void main(String[] args) {
int num[]=new int[]{3,2,5,6,1};
//여기를 구현하시오
for(int i=0;i<num.length;i++){
for(int j=1;j<=num[i];j++){
System.out.print('@');
}
System.out.println();
}
}//end main()
}//end class

Prob_05.java

순위를 구하기
 [출력결과]
  
score      rank
===============
75          4
100         1
85          3
60          5
95          2

 

 

 

 

 

 

 

 

 

 

public class Prob_05 {
public static void main(String[] args) {
int[] sc = { 75, 100, 85, 60, 95 };
int[] rank = { 1, 1, 1, 1, 1 };
// 여기에 구현하세요./////////////////////
for (int i = 0; i < sc.length; i++) {
for (int j = 0; j < sc.length; j++) {
if (sc[i] < sc[j])
++rank[i];
}
}
///////////////////////////////////
System.out.println("score rank");
System.out.println("===========");
for (int i = 0; i < sc.length; i++) {
System.out.println(sc[i] + "\t" + rank[i]);
}
}//end main()
}//end class

Prob_06.java

  [출력결과]
data[0]=1
data[1]=1
data[2]=3
data[3]=5
data[4]=9
data[5]=15
data[6]=25
data[7]=41
data[8]=67
data[9]=109

 

 

 

 

 

 

 

 

 

 

public class Prob_06 {
public static void main(String[] args) {
int[] data=new int[10];
data[0]=1;
data[1]=1;
// 여기에 구현하세요.///////////////////////
for(int i=2; i<data.length; i++) {
data[i]=data[i-1]+data[i-2]+1;
}
///////////////////////////////////////
for(int i=0; i<data.length; i++)
System.out.printf("data[%d]=%d\n", i,data[i]);
}//end main()
}//end class

Prob_07.java

   [출력결과]
   1
   1   1
   1   2   1
   1   3   3   1
   1   4   6   4   1

 

 

 

 

 

 

 

 

 

public class Prob_07 {
public static void main(String[] args) {
int[][] data = new int[][] { { 0 }, { 0, 0 }, { 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } };
//여기에 구현하세요.////////////////////
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++) {
if (j == 0 || j == i)
data[i][j] = 1;
else
data[i][j] = data[i - 1][j - 1] + data[i - 1][j];
}
System.out.println();
}
/////////////////////////////////////
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++) {
System.out.printf("%4d", data[i][j]);
}
System.out.println();
}
}// end main()
}// end class
반응형
Comments