★Math Beginner II - 30 Solved★
★ 2530 인공지능 시계 ★ A,B,C = map(int,input().split()) D = int(input()) cur = 3600*A + 60*B + C after = cur + D after %= 86400 print(after//3600, (after%3600//60), after%60) 👉 시계 관련 문제는 항상 시, 분, 초 관련 숫자 3600과 60을 적절히 조합해야만 풀 수 있는, 꽤 나름 생각해야 하는 문제이다. H는 0부터 23, M과 S는 0부터 59까지의 범위만 허용 가능하므로 이에 맞게 코딩을 해야 할 필요가 있음! / 위 풀이 아이디어) 애초에 초로 바꾼다음, 하루가 넘어갈 경우를 대비해 86400으로 나눈 나머지를 가지고 다시, 시분초에 맞게 정렬 👉 다른 풀이> a, b..
BOJ/🥉
2022. 9. 20.
★Number Theory Upper-Beginner I - 15 Solved★
★ 2609 최대공약수와 최소공배수 ★ A, B = map(int,input().split()) a, b = A, B GCD, LCM = 0, 0 while True: if A == B: GCD = A print(GCD) break else: if A >= B: A = abs(A-B) else: B = abs(A-B) print(a*b//GCD) 🧚♂️ 최대공약수, 최소공배수 전형적인 알고리즘! 확실히 짚고 넘어가자. ① math module - gcd, lcm 사용 (메모리 사용량, 실행 시간 훨씬 효율적!) import math a, b = map(int, input().split()) print(math.gcd(a, b)) print(math.lcm(a, b)) ② 유클리드 호제법 사용 → 해결법..
BOJ/🥉
2022. 8. 21.
★Math Beginner I - 30 Solved★
★ 4153 직각삼각형 ★ #백준 4153 #브론즈 III while True: a,b,c = map(int,input().split()) if (a,b,c) == (0,0,0): break if (int(((max(a,b,c)**2) - (min(a,b,c)**2)) ** (1/2)) in (a,b,c)): print('right') else: print('wrong') 💋 가장 긴 변의 제곱이 나머지 두 변들의 제곱합이 직각삼각형 → 가장 긴 변의 제곱에 가장 작은 변의 제곱을 뺀 결과의 제곱근이 세 변에 있다면(in 연산자), 직각삼각형이라 판단하는 로직으로 코드 설계함 (애초에 sort()를 사용했다면, 세 변이 크기 순서대로 쉽게 나열되어 더 간단히 풀 수 있었을 것!) - 그 외 가능한 로직 ..
BOJ/🥉
2022. 8. 16.