반응형
코딩하기 전 생각하기
/*
n을 입력받는다.
n이 0이 될 때 까지 다음을 반복한다.
n이 5로는 안나눠지는데 3으로는 나눠지면 3kg봉지를 하나 쓴다.
위의 경우가 아니면 5kg봉지를 하나 쓴다.
위의 경우가 아닌데 n이 5보다 작으면 -1을 출력하고 종료한다.
봉지의 개수를 출력한다.
*/
코드
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, count = 0;
cin >> n;
while ( n > 0 ) {
if ( n % 5 != 0 && n % 3 == 0 ) {
n -= 3;
count++;
}
else if ( n >= 5 ) {
n -= 5;
count++;
}
else {
cout << -1;
return 0;
}
}
cout << count;
}
느낀점
DP나 그리디로 푸는 문제라는데,, 나는 아직 이것들을 아는 단계가 아니다.
빨리 배워서 다시 풀어보자~!
(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.
댓글 환영합니다!
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준/BOJ] 15552번 - 빠른 A+B (C++) (0) | 2021.07.17 |
---|---|
[백준/BOJ] 1920번 - 수 찾기 (C++) (0) | 2021.07.17 |
[백준/BOJ] 11478번 - 서로 다른 부분 문자열의 개수 (C++) (0) | 2021.07.17 |
[백준/BOJ] 11004번 - K번째 수 (C++) (0) | 2021.07.16 |
[백준/BOJ] 11650번 - 좌표 정렬하기 (C++) (0) | 2021.07.16 |
댓글