[백준] 25177번 서강의 역사를 찾아서
2022. 9. 1. 15:17
solving/C, C++
#include int main (){ int N, M ,i; scanf("%d %d", &N, &M); int n[N+1]; int m[M+1]; for(i=0; i 각각 다른 if문사용
[백준] 2525번 오븐 시계
2022. 8. 31. 00:16
solving/C, C++
소스코드 #include #include int main (){ int a, b, c; int ans1, ans2; scanf("%d %d", &a, &b); scanf("%d", &c); ans1 = a+ (b+c)/60; ans2 = (b+c)%60; if (ans1 >= 24) { ans1 = ans1%24; } printf("%d %d", ans1, ans2); } 해설 ans1 = a+ (b+c)/60; ans2 = (b+c)%60; if (ans1 >= 24) { ans1 = ans1%24; } 구현 부분. ans1은 원래 시간값 a + 최신 분값 (b+c)를 60으로 나눈 몫 ans2는 최신 분값 (b+c) 를 60으로 나눈 나머지 ans1값이 24가 넘어가면, 24로 나눈 몫으로 바꿔줌
[백준] 1181번 단어 정렬 (O(nlogn) 정렬 알고리즘, strcmp)
2022. 8. 29. 23:25
solving/C, C++
개념 정렬 알고리즘 중, 시간 복잡도가 O(n^2) 인 알고리즘만 사용해왔는데, 이 문제에서는 이런 알고리즘을 사용할 경우 시간 초과가 뜬다. 이를 해결하기 위해서는 O(nlogn) 정렬 알고리즘을 사용해야 한다는 것을 알게 되었다. 시간 복잡도가 O(n^2) 인 알고리즘은 n개의 원소를 바로 옆에 있는 원소와 비교해야 하기 때문에 n(n-1), 즉 O(n^2) 가 된다. 그렇다면 바로 옆 원소에 비교하는 방법을 안쓰면 된다! O(nlogn) 정렬 알고리즘에 해당하는 분할 정복에 대해 알아보았다. 참고 - https://velog.io/@chappi/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-2%EC%9D%BC%EC%B0%A8-Onlogn-%EC%A0%95%EB%A0%AC-%EB%..
[백준] 2609번 최대공약수와 최소공배수
2022. 8. 29. 17:50
solving/C, C++
소스코드 #include #include int main (){ int a, b, i; scanf("%d %d", &a, &b); int ans1, ans2; int temp = 1; while(1){ if ((temp*a)%b == 0) { ans2 = temp*a; break; } temp++; } for(i=1; i가장 큰 값이 출력됨 최소공배수: 수학적으로 (두 수의 곱) = (최대공약수)*(최소공배수) 임을 이용하거나, 여기서는 temp++;를 해가며 둘 중 하나에 곱해주고 이것을 다른 하나로 나누었을 때 나머지가 0이 되면 이 값을 최소공배수로 저장하고 break한 뒤 출력하도록 함
[백준] 2798번 블랙잭
2022. 8. 29. 15:04
solving/C, C++
소스코드 #include #include int main (){ int N, M, i, j, k; scanf("%d %d", &N, &M); int a[N]; for (i = 0; i
[백준] 1157번 단어 공부
2022. 8. 28. 14:42
solving/C, C++
소스코드 #include #include int main (){ char a[1000000]; int b[26]; int i, temp, ans; int c = 0; int d = 0; int len; for(i=0; i
[백준] 10809번 알파벳 찾기 (ASCII 코드로 소-대문자, 소문자-숫자 변환)
2022. 8. 27. 23:30
solving/C, C++
소스코드 #include #include int main (){ char a[100]; int index[26]; int i, b; for (i=0; i
[백준] 3052번 나머지 (다시 풀어볼 것)
2022. 8. 27. 22:25
solving/C, C++
소스코드 #include #include int main (){ int num[10]; int lef[42]; int i, left; int ans = 0; for (i=0; i