Algorithm/📖Baekjoon138 #11399 ATM # 문제 # 입력 및 출력 # 풀이 그리디 알고리즘 문제이다 단순하게 생각하면 N번 만큼 더해야 하는 수가 가장 작은 수가 되어야 한다 따라서 배열을 오름차순 정렬해서 가장 작은 수를 가장 많이 더하고, 가장 큰 수를 가장 적게 더하도록 해야한다 오름차순 정렬은 algorithm 헤더에 sort함수를 이용 #include #include using namespace std; int p[1000]; int main() { int N, min = 0; cin >> N; for (int i = 0; i > p[i]; } sort(p, p + N); for (int i = 0; i = j) mi.. 2022. 4. 14. #10942 팰린드롬? - 미완 팰린드롬(palindrome): 앞뒤를 뒤집어도 똑같은 문자열 # 문제 # 입력 및 출력 # 풀이 시간이 0.5초 인 것을 보아 적절한 알고리즘을 찾지 못하면 시간초과가 걸릴 것 같은데 일단 시간은 배제하고 단순한 코드로 작성해보았다 #include using namespace std; int N, M, s, e, isPD; int dp[2001]; int main() { cin >> N; for (int i = 1; i > dp[i]; } cin >> M; for (int i = 0; i > s >> e; for (int j = s; j 2022. 4. 13. #11404 플로이드 # 문제 # 입력 및 출력 # 풀이 진짜 머리 쥐어뜯고 있었는데 밑에 표 그리면서 번뜩했다ㅋㅋㅋ 플로이드 와샬 함수를 하나 만들어서 n번 반복하도록 하면 될 것 같았는데 예제는 다 맞는데 정답 돌리면 계속 틀렸다고 나오더라ㅋㅋㅋ 결국 구글링을 시전했고,, 다른 사람 코드를 보니까 다들 함수를 한번만 돌려도 답이 나오더라 코드를 분석해보니까 반복문의 순서에 따라서 좀 다른 것 같더라 왜 그렇게 나오는지 이해를 못해서 다른 사람 코드를 봤는데 다들 #define INF 987654321 이거를 쓰더라 나도 그래서 100001로 쓰던걸 INF로 바꿔봤는데 정답처리가 됐다ㅋㅋ 예제중에 가치가 100001이 넘는게 있는 것 같다 지금 생각해보면 한개의 가치가 100000이 최대인 것이니까 당연한 거지만ㅋㅋㅋ 결국.. 2022. 4. 12. #2839 설탕 배달 # 문제 # 입력 및 출력 # 풀이 처음에 문제를 봤을땐 5kg짜리 봉지를 많이 쓰는게 좋다고는 생각을 했었는데 코드를 대충 짜다보니 케이스를 나누는게 편할 것 같아서 케이스를 나눠서 코드를 짰다 #include using namespace std; int find_min[4]; int main() { int N; cin >> N; for (int i = 0; i = 5) { if (N % 3 == 0) find_min[0] = N / 3; if (N % 5 == 0) find_min[1] = N / 5; if (N % 5 == 4) find_min[2] = N / 5 + 2; if (N % 5 == 1 || N % 5 == 3) fi.. 2022. 4. 11. #7579 앱 # 문제 # 입력 및 출력 # 풀이 처음엔 이렇게 생각해서 그냥 정렬 알고리즘 써서 해도 될 것 같았다,,ㅋㅋ 그래서 아래처럼 작성해서 채점해봤는데 #include #include #include using namespace std; int N, M; int c[100], m[100]; typedef struct { int m; int c; }app; vectorapp_list; bool compare(app a, app b) { if (a.c == b.c) { return a.m > b.m; } else { return a.c > N >> M; for (int i = 0; i > m[i]; } for (int i = 0;.. 2022. 4. 10. #10830 행렬 제곱 # 문제 # 입력/출력 # 풀이 내가 작성한 코드는 아래와 같음 #include using namespace std; const int mod = 1000; int mat[5][5]; int result[5][5]; int fin[5][5]; void cal(int N) { for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { int temp = 0; for (int k = 0; k < N; k++) { temp += result[i][k] * mat[k][j]; } fin[i][j] = temp % mod; } } for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { result[i][j] = f.. 2022. 4. 9. 이전 1 ··· 19 20 21 22 23 다음