Algorithm/📖Baekjoon138 #1157 단어 공부 # 문제 # 입력 및 출력 # 풀이 예전에 자바로 풀었다가 메모리 초과 떠서 해결하지 못한 상태로 넘어간 문제였다 c++로 풀었을 때 한번에 해결하긴 했는데 좀 더 코드를 줄일 수 있을 것 같아서 구글링해봤다 아래가 처음 작성한 코드다 toupper(), tolower() 기억해두기! #include using namespace std; string alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int aCount[26]; int main() { string input; cin >> input; for (int i = 0; i < input.size(); i++) { input[i] = toupper(input[i]); for (int j = 0; j < 26; j++) { i.. 2022. 4. 18. #10162 전자레인지 # 문제 # 입력 및 출력 # 풀이 전에 했던 그리디 알고리즘 문제 동전, 거스름돈 유형과 거의 똑같다 다른 점은 버튼마다 각각의 count를 출력해줘야 한다는 점인데 이렇게 출력하기 위해 버튼 count 배열을 따로 선언했다 그 외 특이점은 없다 #include using namespace std; int btn[3] = { 300,60,10 }; int btnCount[3]; int main() { int T, index = 0; cin >> T; while (T > 0) { if (btn[index] 2) { cout 2022. 4. 17. #2217 로프 # 문제 #입력 및 출력 # 풀이 생각해보면 간단한 문제다 일단 모든 로프를 사용할 필요는 없으니까 가장 많은 중량을 들 수 있는 로프부터 체크해보면 된다 따라서 입력받은 로프의 최대 중량을 배열에 넣고 내림차순 정렬했다 그 다음 병렬 연결하면 들 수 있는 중량 최대값을 구해서 둘의 max값을 구함 위의 예제에선 2개의 로프가 주어지는데 하나의 로프만 사용해서는 중량 15를 들 수 있고 두개의 로프를 병렬 연결하면 가장 작은 로프가 10을 들 수 있기 때문에 두 로프는 총 중량 20을 들 수 있다 따라서 병렬 연결 시엔 가장 작은 중량을 들 수 있는 로프를 기준으로 몇 개의 로프를 병렬했는지 확인하면 된다 말이 좀 어려운데 정리하면 max(주어진 로프 중량 중 가장 작은 중량을 가진 로프 * 병렬 연결된.. 2022. 4. 17. #5585 거스름돈 # 문제 # 입력 및 출력 # 풀이 11047번의 동전 0 문제와 비슷하다 매우 간단하게 해결할 수 있었음 일단 내는 돈은 1000엔으로 고정되어있고, 입력받은 돈이 내야하는 돈이므로 (1000 - 입력받은 돈) 의 결과를 몇개의 동전으로 거슬러 줄 수 있는지 계산하면 된다 #include using namespace std; int pay = 1000; int change[] = { 500, 100, 50, 10, 5, 1 }; int main() { int price, index = 0, count = 0; cin >> price; pay -= price; while (pay > 0) { if (pay >= change[index]) { pay -= change[index]; count++; } el.. 2022. 4. 16. #1026 보물 # 문제 # 입력 및 출력 # 풀이 간단하게 생각하면 가장 작은수와 가장 큰 수를 더하면 된다 즉 A배열은 내림차순으로 정렬하고 B배열은 오름차순으로 정렬해 가장 작은 수를 가장 큰 수와 곱해서 최소값을 구하는 방식이다 정렬을 위해 algorithm 헤더의 sort함수를 이용했고, 내림차순으로 정렬하기 위해 compare 함수를 따로 작성함 #include #include using namespace std; int A[50], B[50]; int compare(int a, int b) { return a > b; } int main() { int N, result = 0; cin >> N; for (int i = 0; i > A[i]; } for (int i = 0; i .. 2022. 4. 15. #11047 동전 0 # 문제 # 입력 및 출력 # 풀이 내가 생각해도 좀 복잡하게 짠 것 같다ㅋㅋㅋㅋ #include using namespace std; int arr[10]; int main() { int N, K, count = 0; int* pointer = arr; cin >> N >> K; for (int i = 0; i > arr[i]; } for (int i = 0; i N >> K; for (int i = 0; i < N; i++) {.. 2022. 4. 14. 이전 1 ··· 18 19 20 21 22 23 다음