본문 바로가기

문제 풀이262

[C] 백준 3053번 : 택시 기하학 www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 문제 접근 1. 반지름을 받고 출력 느낀점 문제 자체는 어렵지 않지만 택시 기하학에서의 원의 개념을 몰라서 잠깐 멍 때리고 문제만 계속 봤다. 덕분에 택시 기하학에서 조금 더 공부하게 된 계기가 되었다. 또한, 타입 변환에 대해서 신경쓸 수 있게한 문제였다. 코드 #include #define PI 3.14159265359 int main() { int n; scanf("%d", &n); printf("%.6f\n%.6f", (dou.. 2021. 3. 22.
[C] 백준 4153번 : 직각삼각형 www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 문제 접근 1. 세 수를 받은 뒤 최댓값을 찾는다. 2. 반복문을 이용해서 최댓값이 아니라면 제곱한 값을 임시 변수에다가 더해준다. 3. 임시 변수와 최댓값의 제곱을 비교한다. 느낀점 처음에는 직관적으로 조건문을 이용해서 코드를 구현했지만 너무 코드가 길고 썩 좋은 방법이 아닌 것 같아서 다른 분들이 한 것을 참고했다. 나와 같은 방법도, or을 활용하는 방법도 있었지만 첫 코드를 작성하면서 같이 구상한 방법과 비슷한 코드를 찾.. 2021. 3. 21.
[C] 백준 3009번 : 네 번째 점 www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 문제 접근 1. 1번점과 2번점이 같고 1번점이 3번점과 다르다면 4번점은 3번점과 같다. 2. 1번점과 2번점이 다르고 1번점과 3번점이 같으면 4번점은 2번점과 같다. 3. 1번점과 2번점이 다르고 1번점과 3번점이 다르면 4번점은 1번점과 같다. 느낀점 생각보다 쉽게 풀어서 다른 분들의 코드를 봤는데 배열을 2개 만들던가 각 위치마다 따로 변수를 만들었다. 뭔가 혼자 2차원 배열로 문제를 푼 것 같아서 뿌듯했다. 근데 직사각형이 만들어지지 않는 조건을 넣어야하나 했는데 정답이길레 싱겁다.. 2021. 3. 20.
그 동안의 1일 1코딩 실천(2) 20.11.23 #define _CRT_SECURE_NO_WARNINGS_ #include #include int main() { char ch[1000001] = ""; scanf("%[^\n]", &ch); int i = 0, cnt = 0; char* tok = strtok(ch, " "); while (tok != NULL) { tok = strtok(NULL, " "); cnt++; } printf("%d", cnt); return 0; } 20.11.24 #include int main() { char num1[4], num2[4]; scanf("%s %s", &num1, &num2); if (num1[2] > num2[2]) { for (int i = 2; i >= 0;i--) { print.. 2021. 3. 19.
[C] 백준 1085번 : 직사각형에서 탈출 www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 접근 1. 4가지 경우(왼쪽, 오른쪽, 위, 아래 경계선)을 나누고 그 중 최소값을 출력 느낀점 생각보다 너무 쉬워서 당황한 문제. 사실 대각선도 따져야하나 했지만 생각해보니 직선 거리가 최소일 수 밖에 없음! 코드 #define _CRT_NO_SECRUE_WARNING_ #include #define min(x,y) x>y ? y : x int main() { int x, y, w, h; s.. 2021. 3. 19.
[C] 백준 9020번 : 골드바흐의 추측 www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 문제 접근 1. 입력받은 숫자가 짝수면 반복을 시작 2. 입력받은 숫자(n)의 반부터 시작해서 하나씩 숫자를 늘려 처음 찾은 소수(j)와 n-j가 소수인지 확인 느낀점 처음에는 되게 난해했지만 이미 골드바흐의 추측대로 소수+소수가 우리가 입력한 숫자라는 사실과 입력받은 숫자의 반에서 가장 가까운 소수가 그 소수를 뺀 값이 결국 두 수 차이의 최소라는 점을 이해해서 생각보다 쉽게 풀었다. 하지.. 2021. 3. 18.