본문 바로가기
Algorithm/📖Baekjoon

#11047 동전 0

by yewoneeee 2022. 4. 14.

# 문제

# 입력 및 출력

# 풀이

내가 생각해도 좀 복잡하게 짠 것 같다ㅋㅋㅋㅋ

#include <iostream>
using namespace std;
int arr[10];

int main() {
	int N, K, count = 0;
	int* pointer = arr;
	cin >> N >> K;
	for (int i = 0; i < N; i++) {
		cin >> arr[i];
	}
	for (int i = 0; i < N; i++) {
		if (arr[i] <= K) {
			pointer = &arr[i];
		}
	}
	while (K / *pointer >= 0) {
		if (K / *pointer == 0) {
			pointer--;
			if (pointer == arr) break;
			continue;
		}
		K -= *pointer;
		count++;
	}
	cout << count;
}

이게 그냥 틀렸다고 나오던데 while문에서 예외가 있지 않을까 하는데,,

방금 뭐가 문젠지 보다가 해결했다ㅋㅋㅋ

pointer--; 부분에서 포인터 예외가 발생한것 같다고 생각해서 if문으로 예외처리를 해줬더니 정상 작동한다,,

 

# 정답 1

#include <iostream>
using namespace std;
int arr[10];

int main() {
	int N, K, count = 0;
	int* pointer = arr;
	cin >> N >> K;
	for (int i = 0; i < N; i++) {
		cin >> arr[i];
	}
	for (int i = 0; i < N; i++) {
		if (arr[i] <= K) {
			pointer = &arr[i];
		}
	}
	while (K / *pointer >= 0) {
		if (K / *pointer == 0) {
			if (pointer != arr) pointer--;
			else break;
			continue;
		}
		K -= *pointer;
		count++;
	}
	cout << count;
}

# 정답 2

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=namjs1540&logNo=221578707970 

 

백준 11047 동전 0 풀이 C++

https://www.acmicpc.net/problem/11047 그리디 알고리즘 문제이다. 그리디 알고리즘 = 탐욕 알고리...

blog.naver.com

이거는 모르겠어서 구글링 찾아보고 작성한건데 더 복잡해보인다

벡터를 써서 오름차순으로 정렬하고 그걸 위에 정답 1처럼 계속해서 빼는 방식인데 더 불편함ㅋㅋ

그냥 참고용,,

위에 블로그 코드가 더 간단한데 다는 안보고 풀겠다고ㅋㅋ 더 복잡하게 된 느낌이다

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int compare(int a,int b) {
	return a > b;
}

int main() {
	int N, K, count = 0;
	cin >> N >> K;
	vector<int> v;
	int coin = 0;
	for (int i = 0; i < N; i++) {
		cin >> coin;
		if (K < coin) continue;
		v.push_back(coin);
	}
	sort(v.begin(), v.end(), compare); // 내림차순 정렬
	while (v.size() > 0) {
		if (K - v.at(0) >= 0) {
			K -= v.at(0);
			count++;
		}
		else {
			v.erase(v.begin(), v.begin() + 1);
		}
	}
	cout << count;
}

'Algorithm > 📖Baekjoon' 카테고리의 다른 글

#5585 거스름돈  (0) 2022.04.16
#1026 보물  (0) 2022.04.15
#11399 ATM  (0) 2022.04.14
#10942 팰린드롬? - 미완  (0) 2022.04.13
#11404 플로이드  (0) 2022.04.12

댓글