전체 글

모든 코드에는 이유가 있어야 한다고 생각하는 코딩하는 대학생입니다.
코드를 보기 전에: C언어를 배우는 사람이면 직사각형에 대해 잘 알것이다. 혹시 모를 모르는사람을 위한 직사각형의 특징 (출처 위키백과) 네 각의 크기가 모두 직각이다. 마주보는 두 변(대변)의 길이가 같다. 마주보는 두 변(대변)이 평행하다. 두 대각선의 길이가 같다. 각 대각선이 서로 합동인 직각삼각형으로 양분한다. 각 대각선이 내각이 분할되는 비율이 일정하다. 각 대각선을 지름으로 하는 원에 내접한다. Full code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 #include int main() { int x1, x2, x3; int y1, y2, y3; scanf("%d %d",..
코드를 보기전에: 이 문제는 정말 쉽다. 어렵게 생각하면 오히려 틀릴수도 있는 문제다. 생각을 해보면 가장 빨리 탈출하는 방법은 가장 가까운곳으로 나가는 것이다. 사각형의 왼쪽 아래 꼭짓점과 오른쪽 위 꼭짓점을 입력받은뒤, X Y와 비교해서 가장 가까운 변을 찾는다. 1 2 3 4 5 6 7 8 scanf("%d %d %d %d", &x, &y, &w, &h); min = x; // 최솟값을 x로 설정. if (min > w - x) // x보다 w-x가 더 크다면 최솟값 변경 min = w - x; if (min > h - y) min = h - y; if (min > y) min = y; Colored by Color Scripter cs Full code 1 2 3 4 5 6 7 8 9 10 11 ..
· C언어
아직은 실버입니다... 우리 같이 발전해요! 제가 코딩한것들 중에서 문제점을 발견해주시면 답글을 남겨주세요! 제 블로그에 찾아와주셔서 감사합니다 :)
코드를 보기에 앞서, 이 문제를 처음 보는 사람은 "어 뭐야 쉽네??", "이게 왜 실버2??" 이런 생각을 할 수 있다. 그러나 제출을 해보면 100중 95는 시간초과가 될 것 이다. 그런 사람들은 에라토스테네스의 체를 한번 확인해보고 코딩을 해보자 소수는 1과 자기 자신으로만 나눠지는 수다. 그런 특성을 이용해서 120보다 작은 수의 소수를 구할때는 11까지 숫자들의 배수만 제외해도 구해진다. 왜 11인가? (11^2 > 120)이므로 11까지의 배수다. 필자는 이걸 몰라서 반복문을 이용해 전부 곱했다.... Full code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include int main() { int a, a1; int result[..
코드를 보기 전에:처음에는 약간 헷갈렸지만, 문제를 천천히 읽어보면서 문제 이해부터 시작한 다음 코딩했다. 10번째 줄의 for(int a=1; ; a++) 이 문장이 가장 핵심인 것 같다. 이 문제의 핵심 포인트는 무한반복문인것 같다. 입력받은 숫자중에 적어도 3개의 문자의 배수를 구해야 한다. 무한 반복문을 잘못 사용하면 값이 안나오고 시간초과가 되므로, 조건문을 이용해서 break해야한다. 밑의 코드에서는 적어도 3개의 숫자로 나눴을때 나머지가 0이면 탈출하도록 했다. *바로 탈출해야 최솟값을 구할수가 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 for (int a=1;; a++) { for (int b = 0; b = 3) { printf("%d\n", a); break..
코딩하는_대학생
코딩하는 대학생에서 개발자까지