n,m = list(map(int, input().split()))
b=0
for i in range(m, 0, -1):
if m%i == 0 and n%i ==0:
b =i
break
a = m*n / b
print(b)
print(int(a))
for문을 역순으로 돌려서 조건이 만족할때 break
최소 공배수 = 두수를 곱한 수에서 최대 공약수를 나눠주면 된다.
N = int(input())
arr = list(map(int, input().split()))
a = 0
for i in range(len(arr)):
if i == 0:
pass
else:
for j in range(arr[i], 0, -1):
if arr[0]%j ==0 and arr[i]%j ==0:
a = j
top = int(arr[0]//a)
bottom = int(arr[i]//a)
print("%d/%d" % (top,bottom))
break;
제일 처음 수와 각 자리수의 최대공약수를 각각 구해주고,
최대공약수를 이용해 12와 각 자릿수를 나누어준 몫을 구해줘서 출력
import sys
N = int(sys.stdin.readline())
arr= []
for _ in range(N):
word = input()
if "push" in word:
word = word[4:]
arr.append(int(word))
elif word =="pop":
if len(arr)==0:
print(-1)
else:
print(arr[-1])
del arr[-1]
elif word =="size":
print(len(arr))
elif word =="empty":
if len(arr) == 0:
print(1)
else:
print(0)
elif word =="top":
if len(arr) == 0:
print(-1)
else:
print(arr[-1])
그렇다.. 시간제한문제다
이렇게 무턱대고 막써버리면 무조건 시간 초과가 난다.
시간복잡도에 대해서 공부를 해야겟다
조금더 고민해봐야 할 것같다...
어떻게 시간을 줄일지
N = int(input())
arr=[]
for i in range(N):
number = int(input())
if number != 0:
arr.append(number)
else:
del arr[-1]
print(sum(arr))
처음 보고 응? 했던 문제다
돈 관리는 재현이 같은애가 해야된다
그래야 이런 문제가 안나오지 😡😡😡😡
문제에 나와있듯이 조건이 너무나 확실하게 나와있어서
있는 그대로 풀어줬다.
N = int(input())
for _ in range(N):
a_count = 0
b_count = 0
arr =str(input())
if arr[-1] =="(":
print("NO")
elif arr[0] ==")":
print("NO")
else:
for i in arr:
if i == "(":
a_count += 1
elif i == ")":
b_count += 1
if a_count < b_count:
break
if a_count == b_count:
print("YES")
else:
print("NO")
이 문제에서는 서로 짝을 이루기 때문에 두개의 숫자가 같아야 한다
첫 조건을 서로 반대의 방향을 보는 조건을 제외시켜주고
두개의 숫자를 세는데 여기서 "(" 의 갯수가 ")"의 갯수보다
적어지게 되면 쌍을 이루지 않게 되니까
멈추고 프린트를 해줫다
쉬운문제를 위주로 좀 풀어보려고하는데,
아직은 어려운 문제를 풀면 멘붕이 너무 자주와서
다시 감 좀 찾고 어려운 문제에 도전해보겠습니다.... 🐒🐒
Hello, I enjoy reading all of your article. I like to write a little comment to support you.JOKER123