본문 바로가기

백준

10039 평균점수 #include int main() { int a; int sum = 0; for(int i = 0; i < 5; i++){ scanf("%d", &a); if(a < 40) a = 40; sum += a; } printf("%d", sum/5); } 40점보다 작으면 40점으로 처리하므로 조건문을 통해서 40점 이하인 것들을 잡아냈다. 그런데 이렇게 if문으로 확인하는 것 말고도 라이브러리의 max와 min을 쓰는 방법도 있다. #include #include using namespace std; int main() { int a; int sum = 0; for(int i = 0; i < 5; i++){ scanf("%d", &a); sum += max(40, a); } printf("%d", sum/.. 더보기
8393 합 별 생각 없었는데 아차 싶었다! 나이브~하게 반복문으로 돌려야지 했는데, 고등학교 때 배운 합의 공식이 있었다. #include int main() { int n, sum = 0; scanf("%d", &n); n = n * (n + 1) / 2; printf("%d", sum); } 반복문으로 하면 O(n)이지만 합의 공식을 사용하면 O(1)에 가능하다! 더보기
15894 수학은 체육과목 입니다 수학은 체육과목이라더니 수학문제인것도 어이없는데 그마저도 풀었더니 틀렸다. #include int main() { int a; scanf("%d", &a); printf("%d",4*a); } 저 4n이 틀렸나 해서 다시 확인해봤더니 아니었고 알고보니 int형으로 입력을 받으니 오버플로우가 일어났다. 최대 입력값인 10^9를 입력하면 오버플로우가 발생한다,, 그래서 어찌하지 하다가 문자열은 크기 제한이 없어서 문자열로 받아야 겠다고 생각했다. #include #include using namespace std; int main() { string num; int cash = 0, tmp; cin >> num; for(int i = num.length() - 1; i >= 0; i--){ tmp = (nu.. 더보기
2588 곱셈 #include int main() { int a, b; int tmp1, tmp2, tmp3; scanf("%d %d", &a, &b); tmp3 = a * (b/100); b -= b/100 * 100; tmp2 = a * (b/10); tmp1 = a * (b%10); printf("%d\n", tmp1); printf("%d\n", tmp2); printf("%d\n", tmp3); printf("%d", tmp3*100 + tmp2*10 + tmp1); } 얼마전 수업시간에 ppt에 naive라는 단어가 있어 교수님이 이 단어가 무슨 뜻인지 물어봤다. 그래서 난 그냥 순수한 이런걸로 생각했는데 교수님이 순수같은 좋은 뜻은 아니고 순진하다와 비슷하다고 했다. 생각 많이 안 하고 단순한.. 그런뜻... 더보기
17256 달달함이 넘쳐흘러 등호 조건 확인하고 케이크 연산만 잘 보면 된다. 쉽다 생각했는데 눈이 침침해서 케이크 연산 기호를 잘 못봤다. 조건은 잘 확인하도록 하자. 케이크 수 b는 이렇게 구할 수 있으므로 이걸 코드로 짜보면 아래와 같다. #include int main() { int ax, ay, az; int cx, cy, cz; scanf("%d %d %d", &ax, &ay, &az); scanf("%d %d %d", &cx, &cy, &cz); printf("%d %d %d", cx-az, cy/ay, cz-ax); } 더보기
14652 나는 행복합니다~ 위치를 가로로 보면 4칸씩 들어가고 남은 3자리를 채운 자리가 6이었다. 그럼 (n, m)의 m은 4로 나눈 나머지라 판단했다. 그리고 별 생각없이 n도 그렇겠지 하고 예제로 계산을 해봤다. 그랬더니 3 4 6일 경우에는 맞는데 6 4 14일 경우에는 값이 다르게 나왔다. 그제서야 아 n은 아니구나 싶어 다시 생각했다. 세로를 보면 2칸인데 앞의 한 칸은 6을 4로 나눈 몫과 같다고 생각했다. 그리고 나머지 1칸도 더하면 n을 구할 수 있다. -> 아 아니었다. 0부터 시작하니깐 1을 안 더하고 그냥 몫이 n값이 된다. #include int main() { int N, M, P; scanf("%d %d %d", &N, &M, &P); printf("%d %d", P/M, P%M); } 더보기