Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 뷰
- 자료구조
- node.js
- materialize
- 써니나타스
- 이진탐색트리
- CTF
- bootstrap
- 웹해킹기초
- Express
- 포렌식
- mongoose
- 포렌식워게임
- 자바기초
- 워게임
- NavBar
- gitbash
- 이진트리
- 웹기초
- 그래프
- 자바
- wargame.kr
- node
- 웹해킹
- GIT
- MongoDB
- nodeJS
- 자바문제풀이
- 워게임추천
- 웹개발
Archives
- Today
- Total
보안 전공생의 공부
백준 2839번(미완) 본문
입력 -> 출력
18 4
4 -1
6 2
9 3
11 3
이 나와야 한다고 한다.
조건문과 반복문을 이용해보려고 한다!
1) 무게<5 인 경우 : 무게가 3일때 봉지 개수 =1
이외 - 정확히 N킬로그램 만들 수 X = -1
2) 무게>5 인 경우
(1) 무게가 5로 정확히 나눠 떨어지는 경우
봉지 개수 = 무게를 5로 나눌 때 몫
(2) 무게가 3으로 정확히 나눠 떨어지는 경우
봉지 개수 = 무게를 3으로 나눌 때 몫
(3) 이외
1st. 무게에서 5를 뺀다(봉지개수를 최소화 한다고 하였으므로) -> 봉지개수 +1
2nd. 3으로 나눴을 때 나눠 떨어지면 -> 봉지개수 + {(무게-5)/3}
이것도 예외의 경우가 존재하지만, 일단 문제에서 주어지는 입력값들은 값이 작아서 예외가 발생하지 않음 !
예외 처리하려 생각하니 머리가 아픔..
3rd. 3으로 나눴을 때 나눠 떨어지지 X => 다시 무게에서 5를 빼며 반복 -> 봉지개수 +1
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int weight;
int cnt=0;
for(int i=0;i<4;i++) {
Scanner sc=new Scanner(System.in);
System.out.println("무게입력");
weight=sc.nextInt();
if(weight<5) {
if(weight%3==0)
System.out.println(1);
else System.out.println(-1);
}
else {
if(weight%5==0)
cnt+=(weight/5);
else if(weight%3==0)
cnt+=(weight/3);
else {
while (1){
weight-=5;
cnt++;
if(weight%3==0) {
cnt+=(weight/3);
break;
}
}
}
}
System.out.println(cnt);
sc.close();
}
}
}
'Language > JAVA' 카테고리의 다른 글
객체지향프로그래밍에 대해 /클래스 (1) (0) | 2021.01.23 |
---|---|
백준 2739번 (0) | 2021.01.18 |
백준 10430 번 (0) | 2021.01.18 |
참조 타입 | 배열 (0) | 2021.01.17 |
변수와 자료형 | 조건문&반복문 | 연산자 (0) | 2021.01.17 |
Comments