[JAVA] 문제풀이

장성욱·2025년 7월 2일

JAVA

목록 보기
18/23

-1이 입력될 때까지 숫자를 입력받고 개수 세기


import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int cnt = 1;

    while (true) {
      System.out.print("숫자를 입력해 주세요 : ");
      int num = sc.nextInt();
      sc.nextLine();

      System.out.printf("입력된 숫자의 개수 : %d\n", cnt);
      cnt ++;

      if (num == -1) {
        break;
      }
    }
  }
}

양수 5개를 입력받아 배열에 저장하고 제일 큰 수 출력

import java.util.Scanner;
import java.util.ArrayList;
class Main{
  public static void main(String[] args) {
    Scanner sc = new Scanner (System.in);
    ArrayList<Integer> list = new ArrayList<> ();

    for (int i = 0; i < 5; i ++) {
      System.out.printf("%d번째 양수를 입력해 주세요 : ", i +1);
      int num = sc.nextInt();
      sc.nextLine();

      list.add(num);
      }
    int max = list.get(0);
    for (int num  : list) {
      if (num > max) {
        max = num;
      }
    }
    System.out.println("제일 큰 수 : " + max);
    sc.close();
  }
}

배열의 크기만큼 정수를 입력받고 평균 구하기

import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int[] nums = new int[3];
    int s = 0;

    for (int i = 0; i < nums.length; i ++) {
      System.out.printf("%d번째 정수를 입력해 주세요 : ", i + 1);
      nums[i] = sc.nextInt();
      sc.nextLine();

      s += nums[i];
    }
    double avg = s / nums.length;
    System.out.println("입력한 정수의 평균 : " + avg);
    sc.close();
  }
}

문제풀이

https://codepen.io/gykim93/full/KKjRzbR

문제2)

class Main {
  public static void main(String[] args) {
    int number = 5;
    int current = 25;

    for (int i = 1; i <= number; i ++) {
      for (int j = 4; j >= 0; j --) {   // j는 4에서 0까지 1씩 감소
        System.out.print(current -j + " "); // current -4 => -3.. 1씩 감소
      }
      current -= 5;     // j에서 5번 반복 했으니까 current에서 5를 빼 다음 반복엔 20부터 시작
      System.out.println();
    }
  }
}

문제3)

class Main{
  public static void main(String[] args) {
    int number = 5;
    int current = 1;

    for (int i = 1; i <= number; i ++) {  // 5번 반복
      for (int j = 1; j <= number; j ++) {  // 5번 반복
        System.out.print(current + " ");  
        current += 2;   // current는 2씩 증가
      }
      System.out.println();
    }
  }
}

문제4)

class Main {
  public static void main(String[] args) {
    int number = 5;
    int current = 1;

    for (int i = 0; i < number; i ++) {   // i는 0~4까지 반복
      for (int j = 0; j <= i; j ++ ) {    // j는 0부터 i까지 반복
        System.out.print(current + j +" "); // current는 j씩 증가
      }
      System.out.println(); // j반복문 종료 후 줄바꿈
    }
  }
}

문제5)

class Main{
  public static void main(String[] args) {
    int number = 5;
    int current = 1;

    for (int i = 0; i < number; i ++) { // i는 0~4까지 반복
      for (int j = 0; j <= i; j ++) {   // j는 0~i까지 반복
        System.out.print(current + " ");
        current ++;   // current는 1씩 증가
      }
      System.out.println();   // j반복문 종료 후 줄바꿈
    }
  }
}

문제6)

class Main{
  public static void main (String[] args) {
    int number = 5;
    int current = 1;

    for (int i = number; i > 0; i --) {
      for (int j = i; j > 0; j --) {
        System.out.print(current++ + " ");
      }
      current = 1;	// current는 j반복문 종료 후 1로 초기화 
      System.out.println();
    }
  }
}

문제7)

class Main{
  public static void main (String[] args) {
    int number = 5;
    int current = 1;

    for (int i = number; i > 0; i --) {	// i는 5부터 1까지 1씩 감소
      for (int j = i; j > 0; j --) {	// j는 i부터 1까지 1씩 감소
        System.out.print(current++ + " ");	//current는 1씩 증가
      }
      System.out.println();
    }
  }
}

문제8)

class Main{
  public static void main(String[] args) {
    int number = 5;
    
    for (int i = 1; i <= number; i ++) { // i는 1~5까지 1씩 증가
      int current = i;	// current는 i가 1일 때 1, 2일 때 2...
      for (int j = 0; j < number; j ++) {
        System.out.print(current++ + " "); //current는 i부터 1씩 증가
      }
      System.out.println();
    }
  }
}

문제9)

class Main{
  public static void main(String[] args) {
    int number = 5;

    for (int i = 1; i <= number; i ++) {
      int current = i;	// current는 i => i가 1이면 current도 1, 2이면 2..
      for (int j = 0; j <number; j ++) {
        if (current > number) {	
        // current가 5를 초과하면 5를 빼주기 6이면 -5해서 1, 7이면 -5해서 2...
          current -= number;
        }
        System.out.print(current++ + " ");
      }
      System.out.println();
    }
  }
}
profile
https://frost-puck-b0f.notion.site/B-2610fdaef71d80c49d1bccdcb575dcb5

0개의 댓글