반응형

# 백준 1712 손익분기점 자바

  • 월드전자 손익분기점 구하기 문제.
  • A 고정비용 : 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등
  • B 가변비용 : 한 대의 노트북을 생산하는 데에 쓰이는 재료비와 인건비 등
  • A=1,000, B=70 인 경우 노트북 한 대 생산하는 데 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다.
  • 노트북 가격이 C만원으로 책정되었다고 할때, 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총 비용(=고정비용+가변비용)보다 많아지게 된다. 최초로 총 수입이 총 비용보다 많아져 이익이 발생하는 지점을 손익분기점(BREAK-EVEN POINT)이라고 한다.
  • A, B, C가 주어졌을 때, 손익분기점을 구하는 프로그램 작성
import java.util.Scanner;

public class Main {
  public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    int a = scanner.nextInt();
    int b = scanner.nextInt();
    int c = scanner.nextInt();

    if ( c <= b ) {
      System.out.println("-1");
    } else {
      System.out.println((a/(c-b))+1);
    }

  }
}
반응형
반응형

# 백준 1316 그룹 단어 체커 자바

  • 그룹 단어란 단어에 존재하는 모든 문자에 대해 각 문자가 연속해서 나타나는 경우만을 의미
  • ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어.
  • aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다.
  • 단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램 작성
import java.util.Scanner;

public class Main {

  static Scanner scanner = new Scanner(System.in);

  public static void main(String[] args) {

    int count = 0;
    int num = scanner.nextInt();

    for ( int i = 0; i < num; i++ ) {
      if ( check() == true ) {
        count++;
      }
    }

    System.out.println(count);
  }

  public static boolean check() {

    boolean[] check = new boolean[26];
    int prev = 0;
    String str = scanner.next();

    for ( int i = 0; i < str.length(); i++ ) {
      int now = str.charAt(i);

      if ( prev != now ) {
        if( check[now -'a'] == false ) {
          check[now - 'a'] = true;
          prev = now;
        } else {
          return false;
        }
      } else {
        continue;
      }  
    }
    
    return true;
  }
}
반응형
반응형

# 백준 2908 상수 자바

  • 입력받은 두개의 값 비교하여 출력 하는 문제
  • 입력받은 값이 123 321 인 경우 값 반전 후 비교 321 123
import java.util.Scanner;

public class Main {
  public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    String a = scanner.next();
    String b = scanner.next();

    String[] a_arr = a.split("");
    String[] b_arr = b.split("");

    String sum = "";

    for ( int i = a_arr.length-1; i >= 0; i-- ) {
      sum += a_arr[i];
      a = sum;
    }

    sum = "";

    for ( int i = b_arr.length-1; i >= 0; i-- ) {
      sum += b_arr[i];
      b = sum;
    }

    if ( Integer.parseInt(a) > Integer.parseInt(b) ) {
      System.out.println(a);
    } else if ( Integer.parseInt(a) < Integer.parseInt(b) ) {
      System.out.println(b);
    } else {
      System.out.println(a);
    }
    
  }
}
반응형
반응형

# 백준 1152 단어의 개수 자바

  • 입력받은 문자열에서 단어의 개수 출력, 문자열 앞과 뒤에 공백이 들어올 수 있다.
  • 공백 문자열이 들어올 경우 0 이 출려되어야 한다.
import java.util.Scanner;

public class Main {
  public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    String temp = scanner.nextLine();
    scanner.close();

    if ( temp.equals(" ")) {
      System.out.println(0);
    } else {
      String[] arr = temp.trim().split(" ");
      System.out.println(arr.length);
    }

  }
}
반응형

+ Recent posts