1) 사이트 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 2) 문제 문제는 간단합니다. 원의 반지름을 입력받으면, 유클리드 기하학에서의 원의 넓이와 택시 기하학에서의 원의 넓이를 구해주시면 됩니다. 유클리드 기하학 같은 경우는 저희가 초등학교때부터 고등학교때까지 계속 배워왔던 공식들이 모두 유클리드 기하학이라고 보시면 됩니다. 즉 원의 넓이는 pi * r ^2 이 되는 것이죠. 그렇다면 택시 기하학은 무엇일까요? 제가 여러 방면에서 검색해봤는데, 정확하게 뭔지 모르겠어서 유클리드 기하학에서의 원과 택시 기하학에서의 원을 자세히 ..
1) 사이트 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 2) 문제 이 문제는 세 변의 길이가 주어졌을 때 만들 수 있는 삼각형이 직각 삼각형인지를 판별하는 문제이다. 직각 삼각형을 판별하는 기준은 세 변 a,b,c 가 있을 때 a^2+b^2=c^2이 성립하면 직각 삼각형이라고 한다. 물론 c라는 변은 세 변 중 가장 긴 변이 되어야 한다. 3) 파이썬 코드 def tri(x,y,z): number=[x,y,z] big=max(number) number.remove(big) if(number[0]**2+number[1]**..
1) 사이트 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 2) 문제 세 지점의 (x좌표, y좌표)가 주어졌을 때 직사각형을 만들기 위한 나머지 x좌표, y좌표를 출력하면 되는 문제입니다. 사실 평행사변형의 상황도 직사각형으로 들어가나 고민했지만, 다행히도 고려해주지 않아도 된다는 것을 알고 코드를 짰습니다. 실제로 그림을 그려보시면, 한 가지 규칙을 찾아내실 수 있는데요. (5, 5) (5, 7) (7, 5) 이 세 점에서 직사각형을 만들 수 있는 점은 (7, 7) 입니다. 여기서 알 수 있는 점은 x에서 5가 2번 7이 2번 y에서 5가 2번 7이 2번 나온다는 규칙이죠. 아래 예제도..
1) 사이트 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. www.acmicpc.net 2) 문제 저는 이 문제를 보고 최단 거리를 구하는 문제인 줄 알았지만, 어느 방면에서든 가장 가까운 거리의 직사각형의 경계선에만 닿으면 되는 문제였습니다. 그래서 제가 고려한 거리로는 출발지점(x, y)에서 1)왼쪽 2)오른쪽 3)위쪽 4)아래쪽이었습니다. 대각선은 삼각비 1:1:루트2 생각하니 대각선으로 가는 길이 더 멀다고 판단되어 위처럼 4가지로만 따져보게 되었습니다. 3) 파이썬 코드 ver1 - 복잡한 코드 x,y,w,h=ma..
1) 사이트 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 2) 문제 이 문제는 과 가 합쳐진 문제입니다. 특히 골드바흐 파티션 가운데 두 수의 차이가 작은 결과값을 내는 것이 포인트 입니다. ex) 8 = / 의 2가지 결과가 있지만 두 수의 차이값이 가장 작은 4 4를 출력하면 됩니다. 사실 처음 코드를 짤 때 조건문을 줄줄이 늘여놓아 복잡한 코드를 짰었는데, 그나마 다른 분들의 코드를 보며 공부하면서 줄일 수 있었습니다 ㅎ... 제가 참고한 사이트는 아래와 같습니다. 백준 9020 ..
1) 사이트 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 2) 문제 간단히 예로 들어 설명하자면 2를 입력받으면, 2~2*2 안의 소수가 몇 개 존재하는지 찾으라는 문제입니다. 문제 푸는데 계속 가 걸려서 정답 코드 찾아가며 이해하고 결과보는데 3시간 걸렸던 문제입니다 ㅠㅠ 시간초과의 문제는 한 번에 너무 많은 것을 하는 나의 코드 탓이었는데요... 저는 하나의 숫자를 입력받을 때마다 그 숫자마다 소수인지 판별하고, 결과값에 하나 추가하는 식으로 짰었습니다. 하지만 이번 문제는 범위가 1~123,4..
1) 사이트 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 2) 문제 이번 문제 2581번 소수 문제를 풀었던 사람이라면, '아 뭐야 개 쉽다'하고 코드 변형해서 내면 라는 문구를 보실 수 있습니다. 2581번 소수 1) 사이트 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출 tksgk2598.tistory.com 저도 그랬거든요... 그래서 네이버 검색 창에 를 치니 다양하게 코드를 짤 ..
1) 사이트 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 2) 문제 말그대로 소인수분해 과정을 보여주면 되는 문제 입니다. 예제보니까 한 번에 이해 완료! 그동안 풀었던 1978번 소수찾기 문제와 2581번 소수 문제에서 활용했던 지식들을 총 동원해서 풀면 될 것 같습니다. 3) 파이썬 코드 nanum=2 #number을 nanum으로 나눌 것임 2~number-1까지 number=int(input()) number_copy=number while(number!=1): #소수가 들어온 경우는 nanum이 number-1이 될 때까지 돌려서 나누어 떨어지는 것이 없으면 걍 출력한다. # number-1이 될 때까지 나눠지지 않으..