안녕하세요 Jin's 입니다.
백준 알고리즘의 수학1 중 설탕 배달 ( 문제 번호 : 2839 )의 소스입니다.
Java와 Python 두가지 버전 소스입니다.
이 문제는 21과 8같은 숫자도 한번 예제로 입력해 보는게 좋을거같아요!
1) JAVA
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException{
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
scan.close();
//5로 나눴을때 잘되는게 최우선
if(n%5==0){
System.out.println(n/5);
}else{
//5로 최대한 나눈뒤 3으로 나누어졌을때 가능한거
int max_num = n/5;
for(int i=max_num; i>0; i--){
int calc = n-(5*i);
if(calc%3==0){
System.out.println(i+(calc/3));
return;
}
}
//3으로 최대한 나누는거
if(n%3==0){
System.out.println(n/3);
}else{
System.out.println(-1);
}
}
}
}
2) PYTHON
* cnt는 3키로의 최소개수를 구하는 count
n = int(input())
if n % 5 == 0:
print(n//5)
else:
calc = n//5
cnt = 0
result = 0
while True:
n -= 3
cnt += 1
if n % 5 == 0:
result = cnt + (n//5)
break
if n < 0:
result = -1
break
print(result)
여러분도 한번 풀어보세요!
'Development > 알고리즘' 카테고리의 다른 글
[ 백준 알고리즘 ] 1193번 분수찾기 (JAVA/python) (0) | 2020.07.13 |
---|---|
[ 백준 알고리즘 ] 2869번 달팽이는 올라가고 싶다 (JAVA/python) (0) | 2020.07.12 |
[ 백준 알고리즘 ] 1712번 손익분기점 (JAVA/python) (0) | 2020.07.09 |
[ 백준 알고리즘 ] 1316번 그룹 단어 체커 (JAVA/python) (0) | 2020.07.08 |
[ 백준 알고리즘 ] 2941번 크로아티아 알파벳 (JAVA/python) (0) | 2020.07.07 |