파이썬2021. 5. 31. 00:28
728x90

[ 문제 ]

https://www.acmicpc.net/problem/1735

 

1735번: 분수 합

첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다.

www.acmicpc.net

 

 

[ 코드 ]

 

import sys
input=sys.stdin.readline

a1,a2=map(int,input().split()) #a1/a2 분수
b1,b2=map(int,input().split())

#최소공배수 구하기
def lcm(x,y):
    for i in range(x,(x*y)+1): # x ~ x*y
        if(i%x==0 and i%y==0):
            return i
#최대공약수 구하기
def gcd(x,y):
    #y가 0될 때 까지
    while y:
        x,y  = y, x%y
    return x

#분모 denominator
denom = lcm(a2,b2)

#분자 numerator
num = a1*(denom/a2) + b1*(denom/b2)

#분자분모의 최대공약수로 나눌거임
div = gcd(num,denom)
denom /= div
num /= div

print(int(num),int(denom))

 

 

[ 결과 ]

반응형

'파이썬' 카테고리의 다른 글

[ Python ] 백준 13300 파이썬  (0) 2021.05.31
[ Python ] 백준 10828 파이썬  (0) 2021.05.31
[ Python ] 백준 1475 파이썬  (0) 2021.05.31
[ Python ] 백준 1453 파이썬  (0) 2021.05.31
[ Python ] 문자열 replace로 swap 하기  (0) 2021.05.29
Posted by mminky
파이썬2021. 5. 31. 00:17
728x90

[ 문제 ]

https://www.acmicpc.net/problem/1475

 

1475번: 방 번호

첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.

www.acmicpc.net

 

 

[ 코드 ]

 

n = input() #다솜이 방번호를 string으로
card=[0]*10 #0~9까지 번호
card_6n9 = 0

for i in n:
    if(i=='6' or i=='9'): #6,9 동일취급
        card_6n9 += 1
    else:
        card[int(i)] += 1

#6, 9 개수 결정
if(card_6n9 % 2 == 0):
    card_6n9 = card_6n9//2
else:
    card_6n9 = card_6n9//2 + 1

card[6] = card_6n9

#card에 있는 것들 중 최대값이 세트의 개수
print(max(card))


#n = int(input()) #다솜이 방번호
# card=[0]*9 #0~8까지 번호 (9는 따로)
# card_6n9 = 0
#
# while(n!=0):
#     a= n % 10
#     if(a==6 or a==9): #6이랑 9랑 같이 취급
#         card_6n9 += 1
#     else:
#         card[a] += 1
# #    n_arr.append(a)
#     n = n//10
#
# #n_arr.sort() #같은애들끼리 모음
#
# #01234578: 한 세트에 한 개
# #6 9 : 한 세트에 두 개 -> 올림
# if(card_6n9%2 == 0):
#     card_6n9 = card_6n9//2
# else:
#     card_6n9 = card_6n9//2 + 1
#
# set=max(max(card) , card_6n9)
# print(set)

 

 

[ 결과 ]

반응형
Posted by mminky
파이썬2021. 5. 31. 00:12
728x90

[ 문제 ]

https://www.acmicpc.net/problem/1453

 

1453번: 피시방 알바

첫째 줄에 손님의 수 N이 주어진다. N은 100보다 작거나 같다. 둘째 줄에 손님이 들어오는 순서대로 각 손님이 앉고 싶어하는 자리가 입력으로 주어진다.

www.acmicpc.net

 

[ 코드 ]

 

n=int(input()) #손님 수 n
seat=map(int,input().split()) #손님 별 원하는자리
pc=[0]*101 #1~100 컴퓨터
reject_cus = 0 #거절당하는 손님

for a in seat:
    if(pc[a]==0): #손님 원하는 자리 비어있으면
        pc[a] += 1
    else:
        reject_cus +=1

print(reject_cus)

 

 

[ 결과 ]

 

 

반응형
Posted by mminky
파이썬2021. 5. 26. 13:58
728x90

* 문제

https://www.acmicpc.net/problem/2445

 

2445번: 별 찍기 - 8

첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.

www.acmicpc.net

 

* 풀이

n=int(input())
for i in range(1, n+1): #1~2n
    print('*' * i + ' ' * (n - i) + ' ' * (n - i) + '*' * i)
for i in range(n-1, 0, -1): # n-1 ~ 1
    print('*' * i + ' ' * (n - i) + ' ' * (n - i) + '*' * i)

 

 

* 결과

반응형
Posted by mminky