수학6 [S4] 백준 2417 - 정수 제곱근 (python3) https://www.acmicpc.net/problem/2417 2417번: 정수 제곱근 정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오. www.acmicpc.net 해결방법 0과 n(n>=0) 의 중앙값의 제곱이 n과 같은지, 큰지, 작은지를 따져보며 q를 구해내는 해결 방법이다. n과 m의 중앙값의 제곱은 앞으로 'n과 m의 중앙제곱'이라고 부르겠다. 만약 0과 n의 중앙제곱이 n과 같다면 그 값이 정답이다. ( 0과 4의 중앙제곱 = 2, 2^2 = 4) 만약 0과 n의 중앙제곱이 n보다 크다면 mid와 n의 중앙제곱을 비교한다. 만약 0과 n의 중앙제곱이 n보다 작다면 0과 mid의 중앙제곱을 비교한다. 위 조건문 안에서는 low와 high를 업데이트 해주는 작업도 반드시.. 2023. 1. 19. [S5] 백준 26517 - 연속인가? ? (Python3) https://www.acmicpc.net/problem/26517 26517번: 연속인가? ? 실수 $t$에 대하여, 함수 $f(x)$가 $x=t$에서 정의되어 있고, $\lim_{x \rightarrow t} f(x) = f(t)$인 경우 "$f(x)$는 $x=t$에서 연속이다"라고 한다. 함수 $f(x) = \begin{cases}ax+b & (x \leq k)\\ cx+d & (x > k)\end{cases}$가 주 www.acmicpc.net 해결방법 고등학교 수학 시간에 배웠던 개념을 잊지 않고 있어서 풀 수 있던 문제였다. 주어진 함수가 x=k에서 연속인지 판단하는 방법은 좌극한과 우극한이 같은지 확인하면 된다. 같다면 연속, 다르면 불연속. 코드 k = int(input()) a, b, c.. 2023. 1. 10. [Python] 백준 1789 - 수들의 합 https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 해결방법 val = 1에서 N을 계속 'N - val(N 빼기 val)' 해주며 N이 val보다 작아거나 같아지지 않게 만들면 된다. 코드 N = int(input()) - 1 val = 1 while val 2022. 5. 20. [Python] 백준 1002 - 터렛 https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 해결방법 원의 개념을 알아야 풀 수 있는 문제이다. 원의 교점의 개수를 구하는 문제이다. 두 원이 겹치는 상황을 그림을 그려 이 문제를 풀었다. 풀이 d : 두 원점 사이의 거리 코드 for _ in range(int(input())): # 테스트케이스 입력 및 반복 # 입력 x1,y1,r1, x2,y2,r2 = map(int,input().split()) # 두 원 사이의 거리 : d d = ((x1-x2)**2 + (y1-y2)**2)**0.5 .. 2022. 5. 15. [Python] 백준 6588 - 골드바흐의 추측 문제 보러 가기 https://www.acmicpc.net/problem/6588 해결방법 '에라토스테네스의 체'를 이용해서 풀었다. boolean 값을 담고 있는 sosu라는 리스트를 만들어서 2~len(sosu) 까지의 범위를 다 찾아보며 i번째 인덱스가 소수(True)일때를 두고 풀었다. # 소수 판정 sosu = [True] * 1000001 m = int(1000001**0.5) for i in range(2,m+1): if sosu[i]: for k in range(i+i,1000001,i): sosu[k] = False while True: n = int(input()) if n==0: break else: for i in range(2,m+3): if sosu[i] and sosu[n-i].. 2022. 5. 11. [Python] 백준 5747 - Odd or Even https://www.acmicpc.net/problem/5747 문제 '홀짝' 게임에는 여러가지 방식이 존재한다. 그중 한가지 방법은 두 사람이 각자 '홀수', '짝수' 중 하나를 말한다. 그러고서 셋을 센다('셋, 둘, 하나!'). '하나!'에서 두 사람은 한 손으로 0부터 5까지의 수를 손가락의 개수로 표현한다. 만약 두 사람이 내민 손가락의 수를 세었을 때 합이 짝수라면 처음 짝수를 외친 사람이 승리하고, 반대로 홀수라면 처음 홀수를 외친 사람이 승리한다. 존과 매리는 이 홀짝 게임을 몇 판하려고 한다. 홀수를 좋아하는 존은 모든 판에서 홀수를 고르기로 했고, 매리는 짝수를 고르기로 했다. 존과 매리는 각 경기의 카드를 보면서 나중에 결과를 다시 확인하기 위해 게임을 하는 동안 각자의 카드에 자신.. 2022. 5. 8. 이전 1 다음