목록전체 글 (167)
JiSoo's Devlog
a,b = map(int, input().split()) def gcd(a, b): while b != 0: r = a % b a = b b = r return a print(gcd(a, b)) def lcm(a, b): lcm = (a * b) // gcd(a, b) return lcm print(lcm(a, b)) 유클리드 호제법 - a를 b로 나눈 나머지 r - a와 b의 최대공약수는 b와 r의 최대공약수 - a와 b의 최대공약수는 b와 a%b의 최대공약수 gcd(24, 18) = gcd(18, 6) = gcd(6, 0) b가 0이 되는 순간이 최대공약수 6 최대공약수를 K라고 한다면 a = K * x b = K * y 이때 K가 최대공약수이기 때문에 x, y는 서로소 a * b = K * K * ..
n = int(input()) m = list(map(int, input().split())) r = [] for i in range(n): if m[i] == 1: continue else: k = m[i] c = 0 for j in range(2, k): if k % j == 0: c += 1 if c == 0: r.append(k) print(len(r)) 소수는 자신을 제외하고 2 이상의 자연수로 나누어 떨어지지 않는다 그렇기 때문에 2 이상의 자연수로 나누어 떨어지면 c+=1 되도록 작성 반복을 마친 후 c가 0이라면 1과 자기 자신을 제외하고 나누어 떨어지는 수가 없다는 의미이기 때문에 소수
import math n, k = map(int, input().split()) print(math.factorial(n) // (math.factorial(k) * math.factorial(n-k))) math.factorial 함수 사용
while(1): n = list(map(int, input().split())) if sum(n)==0: break m = max(n) n.remove(m) if m**2 == n[0]**2 + n[1]**2: print("right") else: print("wrong") while문이 반복되는 동안 세 수 받기 리스트에서 가장 큰 수를 찾고 나머지 두 수의 제곱의 합을 구해야 하기 때문에 remove로 제거
n = int(input()) c = 0 while(1): if(n % 5 == 0): c = c + n//5 print(c) break else: n = n - 3 c += 1 if n < 0: print("-1") break 설탕 무게를 5로 나누어 주었을 때 나머지가 0이라면 몫을 더해주고 출력 나머지가 0이 아니라면 3을 빼고 +1 해준 후 출력 반복 설탕 무게가 음수가 되면 -1 출력
state는 기본적으로 데이터가 저장되는 곳 countUp을 호출할 때마다 ReactDOM.render부분을 다시 호출하고 싶은 것인데 먼저 애플리케이션이 시작될 때 Container를 렌더링 하고 우리가 Container를 렌더링 할 때 counter는 0 const root = document.getElementById("root"); let counter = 0; function countUp() { counter += 1; render(); } function render() { ReactDOM.render(, root); } function Container() { return ( Total clicks: {counter} Click me ); } render(); 우리가 해야 하는 건 Cont..
a, b, v = map(int, input().split()) d = (v-b) / (a-b) print(int(d) if d == int(d) else int(d) + 1) 정상에 올라가고 나서는 밤에 미끄러지지 않는다! 밤에 미끄러지지 않는 것을 고려해 b 쪽에만 d-1 해주고 정리한 식이 두 번째 줄 코드 (a*d) - (b*d) >= v 파이썬에서 삼항 연산자는 [참일 때] if [조건문] else [거짓일 때] ex) print("짝수") if a%2==0 else print("홀수")
while(1): n = input() if n == '0': break elif n == n[::-1]: print("yes") else: print("no") 문자열 뒤집기 [::-1]
t = int(input()) for i in range(t): h, w, n = map(int, input().split()) f = n % h d = (n // h) + 1 if f == 0: d -= 1 f = h print(f * 100 + d) //는 나누기 연산 후 소수점 이하의 수 버리고 정수 부분의 몫 예를 들어 n = 18, h = 6이라면 나머지가 딱 떨어지기 때문에 층 변수가 0이 되면서 거리가 1 증가되기 때문에 -1 해준다