BOJ/๐Ÿฅ‰

โ˜…Math & Geometry Upper-Beginner II - 19 Solvedโ˜…

metamong 2023. 4. 6.

โ˜… 15818 ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ์™€ ๋ชจ๋“ˆ๋Ÿฌ โ˜…

import sys
input=sys.stdin.readline

N,M=map(int,input().split())

nums=list(map(int,input().split()))
ans=1

for num in nums:
    ans*=(num%M)
print(ans%M)

 

๐Ÿค™ ๋งค์šฐ ํฐ ์ˆ˜์—์˜ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ๊ฑด ํฐ ์ˆ˜ ์ž์ฒด์— ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์ด ์กด์žฌ.

 

๐Ÿค™ ๋”ฐ๋ผ์„œ ๋ชจ๋“ˆ๋Ÿฌ ์—ฐ์‚ฐ์„ ํ™œ์šฉ! 

(A*B)%X = ((A%X)*(B%X))%X

 

→ ์—ฐ์‚ฐ๋„์ค‘๋„์ค‘ ๊ณฑํ•ด์ง€๋Š” ์ˆ˜์˜ ๋ชจ๋“ˆ๋Ÿฌ ๊ฒฐ๊ณผ๋ฅผ ๊ตฌํ•ด ํฐ ์ˆ˜๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š๊ฒŒ ๊ณผ์ • ๋„์ค‘์— ๋ฐฉ์ง€


โ˜… 16483 ์ ‘์‹œ ์•ˆ์˜ ์› โ˜…

 

print(round((int(input())/2)**2))

 

๐Ÿค™ ์•„๋ž˜์˜ ๊ทธ๋ฆผ์œผ๋กœ ํ•œ ๋ฒˆ์— ์„ค๋ช…๋œ๋‹ค


โ˜… 22938 ๋ฐฑ๋ฐœ๋ฐฑ์ค€ํ•˜๋Š” ๋ช…์‚ฌ์ˆ˜ โ˜…

 

X1,Y1,R1=map(int,input().split())
X2,Y2,R2=map(int,input().split())

if ((X2-X1)**2+(Y2-Y1)**2)**(1/2)<(R1+R2):
    print('YES')
else:
    print('NO')

 

๐Ÿค™ ๋‘ ์›์˜ ์ค‘์‹ฌ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๋‘ ์›์˜ ๋ฐ˜์ง€๋ฆ„ ํ•ฉ๋ณด๋‹ค ์ž‘์œผ๋ฉด ๊ณผ๋…˜์ด ์„œ๋กœ ๊ฒน์นœ๋‹ค.


โ˜… 5691 ํ‰๊ท  ์ค‘์•™๊ฐ’ ๋ฌธ์ œ โ˜…

 

import sys
input=sys.stdin.readline

while 1:
    A,B=map(int,input().split())
    if (A,B) == (0,0): break
    print(min(A,B)*3-(A+B))

 

๐Ÿค™ C๊ฐ€ ์ตœ์†Œ๊ฐ€ ๋˜๊ฒŒ ํ•˜๋ ค๋ฉด A, B๋ณด๋‹ค ์ž‘์•„์•ผ ๋˜๊ณ  A,B์˜ ์ตœ์†Ÿ๊ฐ’์ด ๊ณง ์ค‘์•™๊ฐ’์ด์ž ํ‰๊ท ์ด ๋˜๋ฏ€๋กœ ๋‘˜ ์ค‘ ์ตœ์†Ÿ๊ฐ’์— 3์„ ๊ณฑํ•ด A์™€ B๋ฅผ ๋”ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋บ€ ๊ฒฐ๊ณผ๊ฐ€ C


โ˜… 2745 ์ง„๋ฒ• ๋ณ€ํ™˜ โ˜…

 

N,B=input().split()
ans=0
nums=[]
for x in list(N):
    if x in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':
        pos = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.index(x)
        nums.append(10+pos)
    else:
        nums.append(int(x))
for i in range(len(N)):
    ans+=((int(B)**(i))*(nums[-(i+1)]))
print(ans)

 

๐Ÿค™ 10์ง„๋ฒ•์œผ๋กœ ๋ณ€ํ™˜ ์‹œ ์ผ์˜ ์ž๋ฆฌ๋ถ€ํ„ฐ 10์˜ 0์Šน, 10์˜ 1์Šน ์ฐจ๋ก€๋Œ€๋กœ ๊ณฑํ•˜๋ฉด์„œ ๊ธฐ์กด์˜ ์ˆซ์ž๋ฅผ ๊ณฑํ•ด๋‚˜๊ฐ„๋‹ค.

 

๐Ÿค™ ์ด ๋•Œ, int()ํ•จ์ˆ˜๋กœ ํ•œ ๋ฒˆ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

n,x=input().split()
print(int(n,int(x)))

โ˜… 2903 ์ค‘์•™ ์ด๋™ ์•Œ๊ณ ๋ฆฌ์ฆ˜ โ˜…

 

print((2**(int(input()))+1)**2)

 

๐Ÿค™ N=1์ผ ๋•Œ (๊ธฐ์กด 2 + ์ƒˆ๋กœ์šด ์  1)์˜ ์ œ๊ณฑ ๊ฐœ์ˆ˜

 

๐Ÿค™ N=2์ผ ๋•Œ (๊ธฐ์กด 2 + ๊ธฐ์กด 1 + ์ƒˆ๋กœ์šด ์  2)์˜ ์ œ๊ณฑ ๊ฐœ์ˆ˜

 

๐Ÿค™ N=3์ผ ๋•Œ (๊ธฐ์กด 2 + ๊ธฐ์กด 1 + ๊ธฐ์กด 2 + ์ƒˆ๋กœ์šด ์  4)์˜ ์ œ๊ณฑ ๊ฐœ์ˆ˜

 

๐Ÿค™ ์ด๋Ÿฐ ํ˜•ํƒœ๋กœ ๊ทœ์น™์ด ์ง„ํ–‰๋˜๋ฏ€๋กœ N=X์ผ ๋•Œ 2 + 2^0 + 2^1 + .... 2^{X-1})^2 =  {2^{0}(2^x -1)}/{2-1} = (2^{X}+1)^2


โ˜… 11005 ์ง„๋ฒ• ๋ณ€ํ™˜ 2 โ˜…

 

N,B=map(int,input().split())
ans=[]

alphas={10:'A',11:'B',12:'C',13:'D',14:'E',15:'F',16:'G',17:'H',18:'I',19:'J',20:'K',21:'L',22:'M',23:'N',24:'O',25:'P',26:'Q',27:'R',28:'S',29:'T',30:'U',
        31:'V',32:'W',33:'X',34:'Y',35:'Z'}

while True:
    share, remainder = N//B, N%B
    if remainder < 10:
        ans.append(remainder)
    else:
        ans.append(alphas[remainder])
    
    if share < B:
        if share < 10:
            ans.append(share)
        else:
            ans.append(alphas[share])
        break
    else:
        N = share
rev = ans[::-1]
if rev[0] == 0:
    print(*rev[1:],sep='')
else:
    print(*rev,sep='')

 

๐Ÿค™ 10์ง„๋ฒ•์ด ์•„๋‹Œ ๋‹ค๋ฅธ ์ง„๋ฒ•์œผ๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ ์ฃผ์–ด์ง„ 10์ง„์ˆ˜๋ฅผ ๋‹ค๋ฅธ ์ง„๋ฒ•์˜ ์ˆ˜๋กœ ๊ณ„์† ๋‚˜๋ˆ„๋ฉด์„œ ๋‚˜์˜จ ๋‚˜๋จธ์ง€๊ฐ€ ๊ณง ๋‹ค๋ฅธ ์ง„๋ฒ•์˜ ์ˆ˜๊ฐ€ ๋œ๋‹ค.


โ˜… 14215 ์„ธ ๋ง‰๋Œ€ โ˜…

 

A=list(map(int,input().split()))
A.sort()
if A[2]<=(A[0]+A[1]-1): print(sum(A))
else: print(2*(A[0]+A[1])-1)

 

๐Ÿค™ ์‚ผ๊ฐํ˜•์˜ ํ•„์ˆ˜ ์กฐ๊ฑด: ์ž‘์€ ๋‘ ๋ณ€์˜ ๊ธธ์ด์˜ ํ•ฉ์ด ๊ฐ€์žฅ ํฐ ๋ณ€ ๋ณด๋‹ค ๋ฌด์กฐ๊ฑด ์ปค์•ผ ํ•œ๋‹ค!

 

๐Ÿค™ ๋”ฐ๋ผ์„œ, ๊ธด ๋ณ€์„ ๊ธฐ์ค€์œผ๋กœ

โ‘  ์ž‘์€ ๋‘ ๋ณ€์˜ ๊ธธ์ด์˜ ํ•ฉ - 1๋ณด๋‹ค ๊ธด ๋ณ€์ด ์ž‘๋‹ค๋ฉด ๋ชจ๋“  ๋ณ€์˜ ํ•ฉ

โ‘ก ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ์ž‘์€ ๋‘ ๋ณ€์˜ ๊ธธ์ด์˜ ํ•ฉ์„ ๊ธด ๋ณ€์œผ๋กœ ๋‘์–ด์„œ ๋”ํ•œ๋‹ค!


โ˜… 5073 ์‚ผ๊ฐํ˜•๊ณผ ์„ธ ๋ณ€ โ˜…

 

while True:
    a,b,c=map(int,input().split())
    if (a,b,c) == (0,0,0):
        break

    if a == b == c:
        print('Equilateral')
    else:
        l = [a,b,c]
        l.sort()
        if len(set(l)) != 3:
            if l[0] == l[1]:
                if l[0]*2 > l[2]: print('Isosceles')
                else: print('Invalid')
            else:
                print('Isosceles')
        else:
            if (l[0]+l[1]) > l[2]:
                print('Scalene')
            else:
                print('Invalid')

 

๐Ÿค™ ๋ฐ”๋กœ ์œ„ ๋ฌธ์ œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ์‚ผ๊ฐํ˜•์˜ ํ•„์ˆ˜์กฐ๊ฑด๋งŒ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์ด ๋•Œ ์ด๋“ฑ๋ณ€์‚ผ๊ฐํ˜•์—์„œ ์ž‘์€ ๋ณ€์ด ์„œ๋กœ ๊ฐ™์„ ๊ฒฝ์šฐ๋Š” ์‚ผ๊ฐํ˜•์˜ ๊ฒฐ์ •์กฐ๊ฑด์„ ๋”ฐ์ง€๊ณ , ํฐ ๋ณ€์ด ์„œ๋กœ ๊ฐ™์„ ๊ฒฝ์šฐ๋Š” ๋ฌด์กฐ๊ฑด ์‚ผ๊ฐํ˜•์ด ์ƒ๊ธด๋‹ค.


โ˜… 9063 ๋Œ€์ง€ โ˜…

 

import sys
input=sys.stdin.readline

N=int(input())
x,y=[],[]
if N==1:
    input()
    print(0)
else:
    for _ in range(N):
        X,Y=map(int,input().split())
        x.append(X)
        y.append(Y)
    x.sort()
    y.sort()
    print((x[-1]-x[0])*(y[-1]-y[0]))

 

๐Ÿค™ ์ฃผ์–ด์ง„ ๋ชจ๋“  ์ ์„ ์ตœ์†Œ๋กœ ๋‘˜๋Ÿฌ์‹ธ๋Š” ์‚ฌ๊ฐํ˜•์„ ๊ตฌํ• ๋ ค๋ฉด ์ฃผ์–ด์ง„ ๋ชจ๋“  ์  x์™€ y ๊ฐ๊ฐ ์ตœ์†Œ์™€ ์ตœ๋Œ€ ์‚ฌ์ด์˜ ๊ฐ’์ด ์‚ฌ๊ฐํ˜•์˜ ๋ณ€์ด ๋œ๋‹ค.


โ˜… 29196 ์†Œ์ˆ˜๊ฐ€ ์•„๋‹Œ ์ˆ˜ 2 โ˜…

 

๐Ÿค™ ์›ํ•˜๋Š” ๊ทธ ์–ด๋–ค ์ˆ˜๋กœ๋„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ทธ์ € ์ „์ฒด 10000~00 ๋ถ„์˜ ์†Œ์ˆ˜๋ถ€ ์‚ฌ์šฉํ•˜๋ฉด ๋จ (์• ๋“œ ํ˜น ๋ฌธ์ œ)


โ˜… 13311 ํ–‰์šด์˜ ํŽธ์ง€ โ˜…

 

print(-1)

 

๐Ÿค™ ์ •์ˆ˜์ž„์„ ๊ณ ๋ คํ•ด์„œ n = (2~1000)xA+(1~999)๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ˆ˜๋Š” ๋ชซ์ด -1์ธ -1๋ฐ–์— ์—†๋‹ค. ์ฐธ๊ณ ๋กœ 2๋ถ€ํ„ฐ 1000๊นŒ์ง€์˜ ๋ชจ๋“  ์ˆ˜์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ + 1์€ 433์ž๋ฆฌ์ด๋‹ค.


โ˜… 2991 ์‚ฌ๋‚˜์šด ๊ฐœ โ˜…

 

A,B,C,D=map(int,input().split())
P,M,N=map(int,input().split())

a,b,c=0,0,0

if 1 <= P%(A+B) <= A:
    a+=1

if 1 <= P%(C+D) <= C:
    a+=1

if 1 <= M%(A+B) <= A:
    b+=1

if 1 <= M%(C+D) <= C:
    b+=1

if 1 <= N%(A+B) <= A:
    c+=1

if 1 <= N%(C+D) <= C:
    c+=1

print(a,b,c,sep='\n')

 

โœŒ๏ธ ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž ๊ฐœ๋…์„ ์‚ฌ์šฉํ•ด A์™€ C๋ถ„ ์ดํ•˜๋ผ๋ฉด ๊ฐœํ•œํ…Œ ์ง–์Œ์„ ๋‹นํ•˜๋Š”(?) ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•ด ์นด์šดํŠธํ•˜๋ฉด ๋œ๋‹ค.


โ˜… 1009 ๋ถ„์‚ฐ์ฒ˜๋ฆฌ โ˜…

import sys
input=sys.stdin.readline

for _ in range(int(input())):
    a,b=map(int,input().split())
    a=(a%10)
    if a == 1: print(1)
    elif a == 2: print('6248'[b%4])
    elif a == 3: print('1397'[b%4])
    elif a == 4: print('64'[b%2])
    elif a == 5: print(5)
    elif a == 6: print(6)
    elif a == 7: print('1793'[b%4])
    elif a == 8: print('6842'[b%4])
    elif a == 9: print('19'[b%2])
    else: #a == 0
        print(10)

 

 

โœŒ๏ธ ์ˆ˜์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ ์ผ์˜ ์ž๋ฆฌ๋Š” ๋ฐ˜๋ณต๋œ๋‹ค๋Š” ๊ทœ์น™์„ ์•Œ๋ฉด ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ


โ˜… 13458 ์‹œํ—˜ ๊ฐ๋… โ˜…

 

import sys,math
input=sys.stdin.readline
N=int(input())
A=list(map(int,input().split()))
B,C=map(int,input().split())
ans=N
for Ai in A:
    if (Ai-B)>0:
        ans+=math.ceil((Ai-B)/C)
print(ans)

 

โœŒ๏ธ Ai-B๊ฐ€ ์–‘์ˆ˜์ธ ๊ฒฝ์šฐ, ์ฆ‰ ์ด๊ฐ๋…๊ด€์ด ๊ฐ๋…ํ•˜๊ณ  ๋‚จ์€ ์ธ์›์ด ์กด์žฌํ•  ๊ฒฝ์šฐ๋งŒ ๋ถ€๊ฐ๋…๊ด€ ๊ณ ๋ ค


โ˜… 2163 ์ดˆ์ฝœ๋ฆฟ ์ž๋ฅด๊ธฐ โ˜…

N,M=map(int,input().split())
print(N-1+(M-1)*N)

โœŒ๏ธ ์ž๋ฅด๊ธฐ ํšŸ์ˆ˜์— ์ดˆ์ ์„ ๋‘์ž๋ฉด, ์ž๋ฅผ ๋•Œ ๋งˆ๋‹ค ์กฐ๊ฐ์˜ ๊ฐœ์ˆ˜๊ฐ€ 1์”ฉ ๋Š˜์–ด๋‚œ๋‹ค. ๊ฒฐ๊ตญ์€ N*M๊ฐœ์˜ ์กฐ๊ฐ์ด ์ƒ๊ฒจ์•ผ ํ•˜๋ฏ€๋กœ ์ตœ์†Œ N*M-1๋ฒˆ ์ž๋ฅด๋ฉด N*M๊ฐœ์˜ ์กฐ๊ฐ์ด ์ƒ๊ธด๋‹ค. ๋”ฐ๋ผ์„œ N*M-1


โ˜… 3053 ํƒ์‹œ ๊ธฐํ•˜ํ•™ โ˜…

import math
R=int(input())
print(math.pi*R*R)
print(2*R*R)

 

โœŒ๏ธํƒ์‹œ ๊ธฐํ•˜ํ•™์—์„œ์˜ ์›์€ ๋งˆ๋ฆ„๋ชจ์™€ ๊ฐ™๋‹ค. ํƒ์‹œ ๊ธฐํ•˜ํ•™์—์„œ์˜ ์›์˜ ์ •์˜๋Š” ์ผ๋ฐ˜์ ์ธ ์œ ํด๋ฆฌ๋“œ ๊ธฐํ•˜ํ•™์—์„œ์˜ ์›์˜ ์ •์˜์™€ ๋™์ผํ•˜๋ฏ€๋กœ ํŠน์ • ์ ์—์„œ ๋ชจ๋‘ ํƒ์‹œ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ™์€ ๊ฑด ๋งˆ๋ฆ„๋ชจ. ๋”ฐ๋ผ์„œ ๋งˆ๋ฆ„๋ชจ์˜ ๋„“์ด๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค.


โ˜… 3034 ์•ต๊ทธ๋ฆฌ ์ฐฝ์˜ โ˜…

N,W,H=map(int,input().split())
limit=(W**2+H**2)
for _ in range(N):
    l=int(input())
    if l**2<=limit:
        print('DA')
    else:
        print('NE')

 

โœŒ๏ธ ์ฃผ์–ด์ง„ ์ƒ์ž์˜ ๋Œ€๊ฐ์„ ์˜ ๊ธธ์ด๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์„ฑ๋ƒฅ์˜ ์ตœ๋Œ€ ๊ธธ์ด. ํ”ผํƒ€๊ณ ๋ผ์Šค ์ •๋ฆฌ๋กœ ์ตœ๋Œ€ ๊ธธ์ด ๊ตฌํ•ด์„œ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ง€์˜ ์—ฌ๋ถ€ ์ฒดํฌ


โ˜… 1297 TV ํฌ๊ธฐ โ˜…

D,H,W=map(int,input().split())

print(int(((H*H*D*D)/(H*H+W*W))**(1/2)),int(((W*W*D*D)/(H*H+W*W))**(1/2)))

 

โœŒ๏ธ ๋Œ€๊ฐ์„ ๊ณผ ๊ฐ€๋กœ:์„ธ๋กœ ๋น„์œจ์„ ์•Œ๋ฉด ํ”ผํƒ€๊ณ ๋ผ์Šค ์ •๋ฆฌ๋กœ ๊ฐ€๋กœ์™€ ์„ธ๋กœ์˜ ์‹ค์ œ ๊ธธ์ด๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'BOJ > ๐Ÿฅ‰' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

โ˜…Combinatorics Upper-Beginner - 4 Solvedโ˜…  (0) 2023.08.09
โ˜…Math Beginner IV - 22 Solvedโ˜…  (0) 2023.01.16
โ˜…Greedy Beginner I - 9 Solved()โ˜…  (0) 2022.12.02
โ˜…Math Beginner III - 30 Solvedโ˜…  (1) 2022.11.18
โ˜…Sorting Beginner I - 8 Solvedโ˜…  (0) 2022.11.14

๋Œ“๊ธ€