import sys
N, M = map(int, sys.stdin.readline().split())
arr = list(range(N, M + 1))
def prime_number(a):
if a == 1:
return False
else:
for i in range(2, int(a ** 0.5) + 1):
if a % i == 0:
return False
return True
for i in arr:
if prime_number(i):
sys.stdout.write(str(i) + "\n")
시간초과에서 벗어나지 못하고 다른분들의 해설을 참고했습니다.
소수를 구하는데 있어서 숫자의 제곱근을 가지고 실행을 하게되면
그만큼 돌아가는 수가 줄어들어 시간초과에서 벗어날 수 있다고 하네요 ...
소수를 구하는 방법에 대해 새로운 걸 배웠습니다.
전혀 생각도 못했던...
def prime_number(number):
if number == 1:
return False
for i in range(2, int(number ** 0.5) + 1):
if number % i == 0:
return False
return True
arr = []
for k in range(2, 123456 * 2):
if prime_number(k):
arr.append(k)
num = int(input())
while num != 0:
count = 0
for j in arr:
if j > num and j <= 2 * num:
count += 1
print(count)
num = int(input())
이 문제는 자꾸 답이 틀려서 왜 그러지 생각하다가
N 부터 2N 까지의 숫자를 구하는거에서 힌트를 얻었습니다.
소수를 123456 까지만 구해서 삽질을 너무 많이 했네요 😂😂
2N 까지 구하게 되면 소수를 담고있는 리스트에 들어가는 숫자도
2배 큰 숫자를 넣어서 구해줘야 count가 정상적으로 반환되기 때문에
모든 소수를 구하고 그중에 범위 안에있는 숫자들을 골라서 카운트 했습니다.
x, y, w, h = map(int, input().split())
value_arr = [h - y, w - x, y - 0, x - 0]
print(min(value_arr))
난이도가 급하락해서 이렇게 푸는게 맞나 싶었던 문제
arr = []
x_list = []
y_list = []
for _ in range(3):
arr.append(list(map(int, input().split())))
for i in range(len(arr)):
x_list.append(arr[i][0])
y_list.append(arr[i][1])
for j in x_list:
if x_list.count(j) == 1:
x = j
for k in y_list:
if y_list.count(k) == 1:
y = k
print(x, y)
이 문제는 정답비율이 높아서 쉽겠다 생각했는데
생각보다 오래 걸렸다
규칙을 못찾아서 ..😖😖😖
정사각형이 있어서 패스
그러기엔 점 위치 경우의 수가 4가지라 패스
a, b, c = map(int, input().split())
while a != 0 or b != 0 or c != 0:
arr = list([a, b, c])
max_number = max(arr)
arr.remove(max_number)
if max_number ** 2 == arr[0] ** 2 + arr[1] ** 2:
print("right")
else:
print("wrong")
a, b, c = map(int, input().split())
고등학교때 엿나? 중학교때 엿나
직각삼각형 변 길이 구하는게 생각나서 금방 풀었던 문제
import math
n = int(input())
for _ in range(n):
jox, bax, jr, joy, bay, br = map(int, input().split())
between = math.sqrt((jox- bax)**2 + (joy- bay)**2)
if between == 0 and jr == br :
print(-1)
elif abs(jr-br) == distance or jr + br == distance:
print(1)
elif abs(jr-br) < distance < (jr+br) :
print(2)
else:
print(0)
이 문제는 정답 확률이 낮은 이유가 문제가 더러워서 그런게 아닐까 싶다
이 문제는 수학보다는 if 문에 있어야 할 문제인 것같다.
위에 풀었던 직각 삼각형문제를 이용해서 두 친구 사이의 거리를 구하고
주어진 r을 반지름으로 하는 원을 만들어서 구하는 방법이다.
겹치게되는 점의수는 0, 1, 2, 완전히 같은 원에 같은 위치
이렇게 4가지인데 if문으로 각각의 상황을 구해주면 된다.