[백준] 1712번 : 손익분기점 - JAVA [자바]

2022. 6. 7. 21:04·알고리즘/백준

문제


수도코드 작성

A + BN < CN 이 되는 수를 찾는 공식

A< (C-B)N => A/(C-B)<N 이 나온다. 만약 A = 1000 , B = 70, C = 170 을 대입하면 N이 11일 때 true가 나오는 걸 알 수 있다. 

그러면 저 공식에 +1을 하면 N번째가 나올 것이다.

 


작성한 코드

초안) 시간초과 에러가 떴다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long A = sc.nextLong();
        long B = sc.nextLong();
        long C = sc.nextLong();
        int i=1;
        if(B>C){
            System.out.println(-1);
            return;
        }
        else {
            while (true) {
                long sumRight = (B * i);
                long sumLeft = (C * i);
                if (A+sumRight < sumLeft) {
                    break;
                } else {
                    i++;
                }
            }
        }
        System.out.println(i);
    }
}

두번째 풀이) 정답

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long A = sc.nextLong();
        long B = sc.nextLong();
        long C = sc.nextLong();
        int i=1;
        if(B>=C){
            System.out.println(-1);
        }
        else {
            System.out.println((A/(C-B))+1); // 계산식으로 바로 적었다.
        }
    }
}

보완할 점 / 헷갈린 점

이번 문제를 풀면서 충격을 많이 먹었다.

코드작성이라고 해서 너무 어렵게 생각했던 것 같다.

그냥 수학 문제 풀듯이 답을 내면 될 것 같다.

저작자표시 (새창열림)

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 10828번 : 스택 - JAVA [자바]  (4) 2022.06.13
[백준] 1037번 : 약수 - JAVA [자바]  (0) 2022.06.09
[백준] 1152번 : 단어의 개수 - JAVA [자바]  (0) 2022.06.07
[백준] 2675번 : 문자열 반복 - JAVA [자바]  (0) 2022.06.07
[백준] 1978번 : 소수 찾기 - JAVA [자바]  (0) 2022.06.03
'알고리즘/백준' 카테고리의 다른 글
  • [백준] 10828번 : 스택 - JAVA [자바]
  • [백준] 1037번 : 약수 - JAVA [자바]
  • [백준] 1152번 : 단어의 개수 - JAVA [자바]
  • [백준] 2675번 : 문자열 반복 - JAVA [자바]
DevelopJJong
DevelopJJong
기록에서 기억까지
  • DevelopJJong
    기록에서 기억까지
    DevelopJJong
  • 전체
    오늘
    어제
    • 분류 전체보기 (62)
      • 프로젝트 (1)
        • 팀 프로젝트 (0)
        • 토이프로젝트 (1)
        • 디스코드 봇 개발 (0)
      • Web (8)
        • Spring (5)
        • Server (1)
      • Knowledge (0)
        • 자료구조 (0)
        • 디자인 패턴 (0)
        • 개발 지식 (0)
      • DBMS (2)
        • Oracle (2)
        • MySQL (0)
      • 알고리즘 (25)
        • 알고리즘 기초 (1)
        • 백준 (22)
        • 프로그래머스 (2)
        • 코드업 (0)
      • Programming Language (9)
        • Java (9)
        • Python (0)
      • 이론 공부 (4)
        • 자료구조 (0)
        • 컴퓨터과학(CS) (1)
        • 이산수학 (0)
        • 네트워크 (3)
      • Tool (8)
        • IntelliJ (6)
        • Git (1)
        • etc. (1)
      • 일상 (0)
        • 맛집 리뷰 (0)
        • 소소한 이야기 (0)
      • 독서 후기 (0)
      • etc. (1)
      • TIL (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

    • 쫑이가 공부하는 공간 (광고 및 수익창출 X)
  • 인기 글

  • 태그

    생성자만드는법#생성자단축키#인텔리제이
    네트워크 #LAN #랜선 #WAN #근거리 통신망 #원거리 통신망 #인터넷 #네트워크 공부 #프로토콜 뜻 #프로토콜
    인터넷 뜻
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
DevelopJJong
[백준] 1712번 : 손익분기점 - JAVA [자바]
상단으로

티스토리툴바