BOJ/๐Ÿฅ‰

โ˜…Math & Geometry Upper-Beginner I - 30 Solvedโ˜…

metamong 2022. 10. 9.

โ˜… 1977 ์™„์ „์ œ๊ณฑ์ˆ˜ โ˜…

 

M = int(input())
N = int(input())
ans = []
for i in range(N-M+1):
    if (M+i)**(1/2) == int((M+i)**(1/2)):
        ans.append(M+i)

if len(ans) > 0:
    print(sum(ans))
    print(min(ans))

else:
    print(-1)

 

๐Ÿค™ 1๋ถ€ํ„ฐ ์ผ์ผ์ด ์ œ๊ณฑํ•ด์„œ ํ•ด๋‹น ๋ฒ”์œ„ ๋‚ด์— ๋“ค์–ด๊ฐ€๋Š” ์ง€ ์•„๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์ง€๋งŒ,

 

ใ€Š์™„์ „์ œ๊ณฑ์ˆ˜ ํŒ๋ณ„ใ€‹

๐Ÿค™ (1) for๋ฌธ ๋ฒ”์œ„ ๋‚ด์—์„œ ํ•ด๋‹น ์ˆ˜๊ฐ€ ์™„์ „์ œ๊ณฑ์ˆ˜์ž„์„ ์•„๋Š” ๋ฐฉ๋ฒ•์€, 1/2์Šนํ•œ ๊ฒฐ๊ณผ์™€ 1/2์Šนํ•œ ๊ฒฐ๊ณผ๋ฅผ int() ์ทจํ•œ ๊ฒƒ๊ณผ ๊ฐ™์€ ์ง€์˜ ์—ฌ๋ถ€์ด๋‹ค / (2) ๋˜๋Š” 1/2์Šนํ•œ ๊ฒฐ๊ณผ๋ฅผ int() ์ทจํ•œ ๊ฑธ ๋‹ค์‹œ ์ œ๊ณฑํ•ด์„œ ์›๋ž˜ ์ˆ˜์™€ ๊ฐ™์€ ์ง€์˜ ์—ฌ๋ถ€๋กœ๋„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค! / (3) ์ถ”๊ฐ€๋กœ math.sqrt()์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ •์ˆ˜์ธ์ง€ is_integer()๋ฅผ ํ†ตํ•ด์„œ๋„ ์•Œ ์ˆ˜ ์žˆ์Œ!


โ˜… 13496 The Merchant of Venice โ˜…

 

import math

for k in range(int(input())):
    
    n,s,d = map(int,input().split())
    total = 0
    for _ in range(n):
        i,v=map(int,input().split())

        if math.ceil(i/s) <= d:
            total += v
    print(f'Data Set {k+1}:')
    print(total)
    print()

 

๐Ÿค™ ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ ์•ฝ๊ฐ„ ์–ด๋ ค์›€

 

๐Ÿค™ Antonio๊ฐ€ Shylock์—๊ฒŒ repayํ•˜๊ธฐ์— ๊ฐ€๋Šฅํ•œ ducat ๋ฌผ์ž ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ

→ ์ด n๊ฐœ์˜ ship์ด ์ถœ๋ฐœ, ๋ชจ๋“  ship์€ s๋ผ๋Š” speed๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๊ฐ ship์€ d day์•ˆ์— ๋„์ฐฉํ•ด์•ผ๋งŒ ducat ํš๋“ ๊ฐ€๋Šฅ

→ ๊ฐ n๊ฐœ์˜ ship๋ณ„๋กœ ๊ณ ์œ ์˜ i mile์„ ๊ฐ€์•ผ ํ•˜๋ฏ€๋กœ, math.ceil(i/s) day๊ฐ€ d day ์ด์ƒ์ด๋ฉด ๋„์ฐฉ ๊ฐ€๋Šฅ

→ ๊ฐ n๊ฐœ์˜ ship๋ณ„๋กœ v๊ฐœ์˜ ducat์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ์—, ๋„์ฐฉ ๊ฐ€๋Šฅํ•œ ship๋งŒ ๋”ฐ๋กœ v๊ฐœ์”ฉ ๋”ํ•ด์ฃผ๋ฉด ๋จ!


โ˜… 20833 Kuber โ˜…

 

N = int(input())
print(int((N*(N+1)/2)**2))

 

๐Ÿค™ k์˜ 3์Šน ์‹œ๊ทธ๋งˆ ๊ณต์‹์„ ๊ทธ๋Œ€๋กœ ๋Œ€์ž…


โ˜… 14924 ํฐ ๋…ธ์ด๋งŒ๊ณผ ํŒŒ๋ฆฌ โ˜…

 

S,T,D=map(int,input().split())
print((D//(2*S))*T)

 

๐Ÿค™ ๋ฌดํ•œ๊ธ‰์ˆ˜๊ฐ€ ํฌํ•จ๋œ ์ˆ˜ํ•™๋ฌธ์ œ

(1) ๋ฌดํ•œ๊ธ‰์ˆ˜๋Œ€๋กœ ํ’€๋ฉด, ์œ„ ๋ฌธ์ œ์—์„œ ํŒŒ๋ฆฌ๊ฐ€ ์ด ์ด๋™ํ•œ ๊ฑฐ๋ฆฌ๋Š” 200 - 40 - 8 ์ˆœ์„œ๋กœ ์ ์  1/5์”ฉ ๊ณฑํ•ด์ง„ ์ฑ„๋กœ ์ž‘์•„์ง„๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฌธ์ œ ์ž์ฒด๋ฅผ ๋‹ค๋ฅด๊ฒŒ ์ƒ๊ฐํ•ด๋ณด๋ฉด, (2) ๋‘ ๊ธฐ์ฐจ๊ฐ€ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€ ํŒŒ๋ฆฌ๊ฐ€ ์ด๋™ํ•œ ๊ฑฐ๋ฆฌ์ด๋ฏ€๋กœ, ๋‘ ๊ธฐ์ฐจ๊ฐ€ ๋งŒ๋‚  ๋•Œ ๊นŒ์ง€ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„์„ ๊ตฌํ•œ๋‹ค์Œ, ํ•ด๋‹น ์‹œ๊ฐ„์— ํŒŒ๋ฆฌ์˜ ์†๋ ฅ์„ ๊ณฑํ•˜๋ฉด ํŒŒ๋ฆฌ๊ฐ€ ์ด๋™ํ•œ ๊ฑฐ๋ฆฌ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.


โ˜… 24365 ะŸะงะ•ะ›ะ˜ะงะšะะขะ ะœะะฏ โ˜…

 

a,b,c=map(int,input().split())

equal = (a+b+c)//3
ans = 0

if (equal - a) <= b:
    ans += (equal-a)
    ans += equal - (b - (equal - a))

else:
    ans += b
    ans += 2*(equal-a-b)
    ans += equal


print(ans)

 

๐Ÿค™ ์ค‘๊ฐ„์—์„œ ์ตœ๋Œ€ํ•œ ์ฒซ๋ฒˆ์งธ๋กœ ๋ชจ๋‘ ์ด๋™, ๋งˆ์ง€๋ง‰์—์„œ ์ค‘๊ฐ„์œผ๋กœ ์ตœ๋Œ€ํ•œ ์ด๋™ํ•ด ์ด๋™๊ฑฐ๋ฆฌ๋ฅผ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿค™ ์ข€ ๋” ์‰ฝ๊ฒŒ ํ’€์ž๋ฉด, C๋ถ€ํ„ฐ A ์ˆœ์„œ๋กœ ์ง„ํ–‰ํ•ด ํ‘ผ๋‹ค๋ฉด, ๊ฒฐ๋ก ์ ์œผ๋กœ C-A๊ฐ€ ๋‹ต์ด ๋œ๋‹ค!

โ‘  X = (a+b+c)//3 ๊ฐ€์ •

โ‘ก C์ž…์žฅ์—์„œ X๋งŒํผ ๋บ€ ๊ฐ’์„ B๋กœ ์ผ๋‹จ ๋„˜๊ฒจ์ค€๋‹ค. (ans = C-X)

โ‘ข B์ž…์žฅ์—์„œ B + (C-X) ๋งŒํผ ํ˜„์žฌ ์žˆ๋Š” ์ƒํ™ฉ์ด๊ณ , ๊ฑฐ๊ธฐ์„œ X๋ฅผ ๋นผ๊ณ  ๋‚จ์€ ๋ฒŒ์„ A๋กœ ๋ณด๋‚ด์ค€๋‹ค. (ans = C-X + B+(C-X)-X)

โ‘ฃ ์™„์„ฑ!

 

∴ ans = C - X + C - X + B + C - 2X = B + 2C - 3X = B + 2C - A - B - C = -A + C = C - A


โ˜… 18330 Petrol โ˜…

 

n = int(input())
k = int(input())

if n <= (60+k):
    print(n*1500)
else:
    print((60+k)*1500 + (n-(60+k))*3000)

 

๐Ÿค™ k๋ผ๋Š” quota๊ฐ€ ๋‚จ์•„ ์žˆ๊ณ , ๋‹ค์Œ ๋‹ฌ์— ์ƒˆ๋กœ์šด 60 quota๊ฐ€ ๋ถ€์—ฌ๋˜๋ฏ€๋กœ, ๋‹ค์Œ ๋‹ฌ์— ์ฃผ์–ด์ง„ quota๋Š” 60+k

 

๐Ÿค™ 60 + k quota ์ดํ•˜ ๋ฒ”์œ„๋ผ๋ฉด ๋ฆฌํ„ฐ๋‹น 1500 Oshloob์„ ์ง€๋ถˆํ•˜๊ณ , ์ดˆ๊ณผํ•˜๋ฉด ๋ฆฌํ„ฐ๋‹น 3000 Oshloob์„ ์ง€๋ถˆํ•˜๊ฒŒ ์„ค์ •ํ•˜๋ฉด OK


โ˜… 24723 ๋…น์ƒ‰๊ฑฐํƒ‘ โ˜…

 

print(2**int(input()))

 

๐Ÿค™ ๊ฐ ์ธต๋ณ„๋กœ ๋‚ด๋ ค๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ ์ด 2๊ฐ€์ง€. ์ฆ‰ N๊ฐœ์˜ ์ธต์ด๋ผ๋ฉด 2๋ฅผ N๋ฒˆ ๊ณฑํ•œ 2^N์ด ์ •๋‹ต!


โ˜… 20867 Rulltrappa โ˜…

 

M,S,G=map(int,input().split())
A,B=map(float,input().split())
L,R=map(int,input().split())

a = L/A + M/G
b = R/B + M/S
if a < b:
    print('friskus')
else:
    print('latmask')

 

๐Ÿค™

โ‘  ์ด A๋ช…์ด 1์ดˆ๋งˆ๋‹ค ์—์Šค์ปฌ๋ ˆ์ดํ„ฐ๋ฅผ ๊ฑธ์–ด ์˜ฌ๋ผ๊ฐ„๋‹ค1๋ช…๋‹น 1/A์ดˆ ์—์Šค์ปฌ๋ ˆ์ดํ„ฐ๋ฅผ ๊ฑธ์–ด์˜ฌ๋ผ๊ฐ„๋‹ค → ์•ž์— L๋ช…์ด ์žˆ์œผ๋ฏ€๋กœ ์ผ๋‹จ L/A์ดˆ ์†Œ์š”

โ‘ก ์•ž์— L๋ช…์ด ๋ชจ๋‘ ๊ฑธ์–ด์˜ฌ๋ผ๊ฐ€๊ณ  ๋‚œ ํ›„, ๋‚ด๊ฐ€ M๊ฐœ์˜ ์—์Šค์ปฌ๋ ˆ์ดํ„ฐ๋ฅผ 1์ดˆ์— G๊ฐœ์˜ ๊ณ„๋‹จ์„ ๋ฐŸ๋Š” ์†๋„๋กœ ๊ฑธ์–ด ์˜ฌ๋ผ๊ฐ„๋‹ค M/G์ดˆ ์†Œ์š”

∴ ํ•ฉ L/A + M/G์ดˆ ์†Œ์š”

๐Ÿค™ ๊ฐ€๋งŒํžˆ ์„œ ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์œ„์™€ ๋˜‘๊ฐ™์€ ๋ฐฉ์‹ → (R/B + M/S)์ดˆ ์†Œ์š”


โ˜… 15700 ํƒ€์ผ ์ฑ„์šฐ๊ธฐ 4 โ˜…

 

N,M=map(int,input().split())
n = N//2
m = M//2

if N%2==0 and M%2==0:
    print(2*m*n)
elif N%2==1 and M%2==0:
    print(2*m*n + m)
elif N%2==0 and M%2==1:
    print(2*m*n + n)
else:
    print(2*m*n + m + n)

 

๐Ÿค™ ๊ฐ ํ™€์ˆ˜, ์ง์ˆ˜์ผ ๊ฒฝ์šฐ ์ด 4๊ฐ€์ง€๋กœ ๋‚˜๋ˆ„์–ด์„œ ๊ฐ๊ฐ์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜์— ๋”ฐ๋ฅธ ์ƒํ™ฉ์„ ๋‚˜๋ˆ„์–ด ์ž‘์„ฑ!

n, m = list(map(int, input().split()))
tile = (n*m) // 2
print(tile)

 

๐Ÿค™ ๊ถ๊ทน์ ์œผ๋กœ๋Š” ๊ฐ€๋กœ์™€ ์„ธ๋กœ๋ฅผ ๊ณฑํ•œ ๋‹ค์Œ 2๋กœ ๋‚˜๋ˆˆ ๋ชซ๋งŒํผ ์ตœ๋Œ€ ๊ฐœ์ˆ˜์˜ ๋ธ”๋ก์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค. ํƒ€์ผ์˜ ํฌ๊ธฐ๊ฐ€ 2์ด๋ฏ€๋กœ ์ง๊ด€์ ์œผ๋กœ ์‹์„ ์ด๋ ‡๊ฒŒ ์งค ์ˆ˜ ์žˆ์Œ


โ˜… 23375 Arm Coordination โ˜…

 

x,y = map(int,input().split())
r = int(input())

print(x+r,y+r,sep=' ')
print(x+r,y-r,sep=' ')
print(x-r,y-r,sep=' ')
print(x-r,y+r,sep=' ')

 

๐Ÿค™ ์›์„ ์—์›Œ์‹ธ๋Š” ์ตœ์†Œ ๋„“์ด์˜ ์ •์‚ฌ๊ฐํ˜•์˜ ๋„ค ์ขŒํ‘œ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ - ์ •์‚ฌ๊ฐํ˜•์— ๋‚ด์ ‘ํ•˜๋Š” ์›์„ ๋งŒ๋“ค๊ฒŒ๋” ์ขŒํ‘œ๋ฅผ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•ด์ฃผ๋ฉด ๋จ


โ˜… 2869 ๋‹ฌํŒฝ์ด๋Š” ์˜ฌ๋ผ๊ฐ€๊ณ  ์‹ถ๋‹ค โ˜…

 

import math
a,b,c = map(int, input().split())
print(math.ceil((c-a)/(a-b)) + 1)

 

โœŒ๏ธ ๋‚ฎ์— A๋ฏธํ„ฐ ์˜ฌ๋ผ๊ฐˆ ๋•Œ V๋ฏธํ„ฐ ์ด์ƒ ๋‹ฌ์„ฑํ•  ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•จ - ์ˆ˜ํ•™๋ฌธ์ œ

 

โœŒ๏ธ x์ผ ์ˆ˜๊ฐ€ ์ง€๋‚ฌ๋‹ค๊ณ  ํ•˜๋ฉด, (a-b)x๋ฏธํ„ฐ๋งŒํผ ๋†’์ด ์˜ฌ๋ผ๊ฐ”๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ์‹ค์ œ V์™€ (a-b)x์˜ ์ฐจ์ด๊ฐ€ a์ดํ•˜์—ฌ์•ผ๋งŒ ๋‹ค์Œ๋‚ ์— ๋‹ฌํŒฝ์ด๊ฐ€ V๊นŒ์ง€ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ๋ถ€๋“ฑ์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด (V-(a-b)x) <= a์ด๋ฉฐ x๋งŒ ์šฐ๋ณ€์— ๋†“๊ฒŒ ์‹์„ ๋ณ€ํ˜•ํ•˜๋ฉด (V-a)/(a-b) <=  x - ํ•ด๋‹น ๋ถ€๋“ฑ์‹์„ ๋งŒ์กฑํ•˜๋Š” ์ตœ์†Œ์˜ (x+1)์ผ ์ˆ˜๊ฐ€ ๋‹ฌํŒฝ์ด๊ฐ€ ๋‚˜๋ฌด ๋ง‰๋Œ€๋ฅผ ์˜ฌ๋ผ๊ฐ€๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์ผ ์ˆ˜.

 

โœŒ๏ธ ์ฆ‰ ๋ถ€๋“ฑ์‹์˜ ์ขŒ๋ณ€ (V-a)/(a-b)๋ฅผ ์˜ฌ๋ฆผํ•œ ์ •์ˆ˜๊ฐ’์ด ํ•ด๋‹น ๋ถ€๋“ฑ์‹์„ ๋งŒ์กฑํ•˜๋Š” ์ตœ์†Œ์˜ x์ด๋ฉฐ, math.ceilํ•จ์ˆ˜ ์‚ฌ์šฉ

→ ์ฆ‰ ์ตœ์†Œ์˜ ์šฐ๋ณ€ x๊ฐ’์€ โ‘ (V-a)/(a-b)๊ฐ’์„ ์˜ฌ๋ฆผํ•œ ๊ฒฐ๊ณผ. ๊ทธ ์ƒํƒœ์—์„œ โ‘ก๋‚จ์€ ๊ฑฐ๋ฆฌ๋Š” a์ดํ•˜์ด๋ฏ€๋กœ ํ•˜๋ฃจ ์ง€๋‚˜๋ฉด ๋ชฉ์ ์ง€ ๋„๋‹ฌ ๊ฐ€๋Šฅ! +1 ํ•ด์ฃผ๊ธฐ

(์˜ฌ๋ฆผํ•จ์ˆ˜ ceil ๋Œ€์‹  ๋ชซ //์œผ๋กœ ๋‚˜๋ˆ„์–ด, ์ •์ˆ˜๋กœ ๋–จ์–ด์ง€๋ฉด ๋ชซ ๊ทธ๋Œ€๋กœ, ์ •์ˆ˜๋กœ ์•ˆ๋–จ์–ด์ง€๋ฉด ๋ชซ+1์ด ์˜ฌ๋ฆผ ๊ฒฐ๊ณผ๊ฐ€ ๋จ)


โ˜… 24805 Climbing Worm โ˜…

 

import math
a,b,c = map(int, input().split())
if a >= c:
    print(1)
else:
    print(math.ceil((c-a)/(a-b)) + 1)

 

โœŒ๏ธ ์œ„ 2869 ๋‹ฌํŒฝ์ด๋Š” ์˜ฌ๋ผ๊ฐ€๊ณ  ์‹ถ๋‹ค ๋ฌธ์ œ์™€ ๋™์ผ. ๊ทธ๋Ÿฌ๋‚˜ height๊ฐ€ a๋ณด๋‹ค ํด ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด ๋•Œ๋Š” ๋ณ„๋„๋กœ 1 ์ถœ๋ ฅ. ๋‚˜๋จธ์ง€๋Š” ๋™์ผ 


โ˜… 11320 ์‚ผ๊ฐ ๋ฌด๋Šฌ - 1 โ˜…

 

for _ in range(int(input())):
    A,B=map(int,input().split())
    print((A//B)**2)

 

โœŒ๏ธ ์ •์‚ผ๊ฐํ˜• ๋‚ด์˜ ์ •์‚ผ๊ฐํ˜• ๊ฐœ์ˆ˜๋Š” ์œ—์ค„์—์„œ๋ถ€ํ„ฐ 1 - 3 - 5 - 7 - 9 ์ด๋ ‡๊ฒŒ ์ฆ๊ฐ€ํ•˜๋ฉฐ, ์ด ํ•ฉ์€ ๊ฒฐ๊ตญ 1 - 4 - 9 - 16 ์ด๋ ‡๊ฒŒ ์ œ๊ณฑ์ˆ˜๋กœ ๋‚˜์˜จ๋‹ค.

 

โœŒ๏ธ ๋”ฐ๋ผ์„œ ์ œ๊ณฑํ•˜๋ฉด ๋!


โ˜… 1598 ๊ผฌ๋ฆฌ๋ฅผ ๋ฌด๋Š” ์ˆซ์ž ๋‚˜์—ด โ˜…

 

import math
a,b=map(int,input().split())
A,B=(4 if a%4 == 0 else a%4),(4 if b%4 == 0 else b%4)
C,D=math.ceil(a/4),math.ceil(b/4)
print(abs(A-B)+abs(C-D))

 

โœŒ๏ธ ์ˆ˜์ง๊ฑฐ๋ฆฌ๋Š” 4๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ„์˜ ์ฐจ์ด๋ฅผ ๋œปํ•˜๊ณ  (๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ฉด 4๋กœ ์„ค์ •)

โœŒ๏ธ ์ˆ˜ํ‰๊ฑฐ๋ฆฌ๋Š” 4๋กœ ๋‚˜๋ˆˆ ๊ฒฐ๊ณผ๋ฅผ ์˜ฌ๋ฆผํ•œ ๊ฒฐ๊ณผ์˜ ์ฐจ์ด๋ฅผ ๋œปํ•œ๋‹ค

โœŒ๏ธ ์ตœ์ข…์ ์œผ๋กœ (์ˆ˜์ง๊ฑฐ๋ฆฌ+์ˆ˜ํ‰๊ฑฐ๋ฆฌ)ํ•ด์ฃผ๋ฉด ๋!


โ˜… 26350 Good Coin Denomination โ˜…

 

for _ in range(int(input())):
    l=sorted(list(map(int,input().split()))[1:])
    y=0
    for i in range(1,len(l)):
        if l[i]<(l[i-1]*2):
            y+=1
            print('Denominations:',*l)
            print('Bad coin denominations!'+'\n')
            break
    if y==0:
        print('Denominations:',*l)
        print('Good coin denominations!'+'\n')

 

โœŒ๏ธ each coin at least the twice amount of previous coin ์กฐ๊ฑด๋งŒ ์ž˜๋งž์ถ”๋ฉด ๋จ


โ˜… 26340 Fold the Paper Nicely โ˜…

 

for _ in range(int(input())):
    l=list(map(int,input().split()))
    a=max(l[0],l[1])
    b=min(l[0],l[1])
    for _ in range(l[2]):
        a,b=a//2,b
        if b>a: a,b=b,a
        if (a,b)==(0,0):break
    print('Data set:',*l)
    print(a,b,'\n')

 

โœŒ๏ธ 0,0 ๋‚˜์˜ค๋ฉด ์‹œ๊ฐ„ ๋‹จ์ถ• ์œ„ํ•ด ๋ฐ”๋กœ break! ๊ทธ ์™ธ๋Š” ๋ฌธ์ œ๋Œ€๋กœ ์ž˜ ๊ตฌํ˜„๋งŒ ํ•˜๋ฉด ๋œ๋‹ค! ํ™€์ˆ˜์ผ ๊ฒฝ์šฐ๋„ ์ƒ๊ฐํ•ด 2๋กœ ๋‚˜๋ˆˆ ๋ชซ ํ™œ์šฉ


โ˜… 1546 ํ‰๊ท  โ˜…

 

N = int(input())

scores = list(map(int,input().split()))
M = max(scores)

new_scores = [score/M*100 for score in scores]

print(sum(new_scores)/N)

โ˜… 4344 ํ‰๊ท ์€ ๋„˜๊ฒ ์ง€ โ˜…

 

for _ in range(int(input())):
    lst = list(map(int, input().split()))

    avg = sum(lst[1:])/lst[0]
    cnt = 0

    for score in lst[1:]:
        if score > avg:
            cnt += 1
    ans = cnt/(len(lst)-1)*100
    print(f'{ans:.3f}' + '%')

 

โœ๏ธ ์†Œ์ˆ˜์  ๊ด€๋ฆฌํ•˜๊ธฐ

→ ์œ„ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ, ์˜ˆ๋ฅผ ๋“ค์–ด 45๋ผ ํ•˜๋”๋ผ๋„ ์ž„์˜์˜ ์†Œ์ˆ˜์  ์…‹์งธ ์ž๋ฆฌ๊นŒ์ง€ 45.000์œผ๋กœ ํ‘œํ˜„์„ ํ•ด์•ผ ํ•˜๋ฏ€๋กœ, round()๋Š” ์ ์ ˆ x

 formatting ๋˜๋Š” f-string์„ ํ†ตํ•ด์„œ ์ฝ”๋“œ๋ฅผ ๋‚˜ํƒ€๋‚ด์•ผ ํ•œ๋‹ค.

a = 3

print(round(a,3)) #3
print('{:.3f}'.format(a)) #3.000
print(f'{a:.3f}') #3.000

 

โ‘  round(๋ฐ˜์˜ฌ๋ฆผํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฐ’, ์ž๋ฆฟ์ˆ˜)

→ ์›ํ•˜๋Š” ๊ฐ’์„ ์–ด๋”” ์ž๋ฆฟ์ˆ˜๋ถ€ํ„ฐ ๋ฐ˜์˜ฌ๋ฆผํ•  ๊ฒƒ์ธ์ง€, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์•Œ๋ ค์ค€๋‹ค. ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์ž„์˜์˜ ์ž๋ฆฟ์ˆ˜๋งŒํผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒŒ x

 

โ‘ก "{:.xf}".format(์ˆ˜)

 ์†Œ์ˆ˜์  x์ž๋ฆฌ๊นŒ์ง€ ๋งŒํผ ์ˆ˜๋ฅผ ๋ณด์—ฌ์คŒ

 

โ‘ข f'{์ˆ˜: .xf}'

 ์†Œ์ˆ˜์  x์ž๋ฆฌ๊นŒ์ง€ ๋งŒํผ ์ˆ˜๋ฅผ ๋ณด์—ฌ์คŒ

 

โœ๏ธ python formatting ์ข€ ๋”

โ‘  {} ๊ฐ™์ด ์ถœ๋ ฅ

→ {}์™€ ๊ฐ™์ด ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์œผ๋ฉด, formatting {}์•ˆ์— ์ค‘๊ด„ํ˜ธ {}๋ฅผ ๋‘ ๋ฒˆ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

a = 2
b = 3
print('{{{}}} + {{{}}} = {{{}}}'.format(a,b,a+b))
#{2} + {3} = {5}

โ˜… 2921 ๋„๋ฏธ๋…ธ โ˜…

 

N=int(input())
s=0
for a in range(N+1):
    for b in range(a,N+1):
        s+=(a+b)
print(s)

 

โœŒ๏ธ N์ด 2์ผ ๊ฒฝ์šฐ, (0,0) (0,1) (0,2) (1,1) (1,2) (2,2) ๊ฐ๊ฐ์˜ ์Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ญ‰ ๋”ํ•˜๋ฉด ๋œ๋‹ค (์ด์ค‘ for๋ฌธ ํ™œ์šฉ)


โ˜… 19751 Fractification โ˜…

 

l=sorted(list(map(int,input().split())))
print(l[0],l[2],l[1],l[3])

 

โœŒ๏ธ ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ถ„์ˆ˜๊ฐ’์ด ์ตœ๋Œ€ํ•œ ์ž‘๊ฒŒ ๋‚˜์˜ฌ๋ ค๋ฉด, ๋ถ„๋ชจ๋Š” ํฌ๊ฒŒ / ๋ถ„์ž๋Š” ์ž‘๊ฒŒ ์„ค์ •. ์ œ์ผ ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋‘ ์ˆ˜๋ฅผ ๋ถ„์ž์— ๋†“๋˜, ๊ฐ€์žฅ ํฌ๊ธฐ๊ฐ€ ํฐ ์ˆ˜๊ฐ€ ๋ถ„๋ชจ๋กœ ๋“ค์–ด๊ฐ„ ๋ถ„์ˆ˜์˜ ๋ถ„์ž๋Š” ๊ทธ๋งŒํผ ๋ถ„์ž๋ฅผ ํฐ ๋ถ„๋ชจ๋กœ ๋” ์ž‘๊ฒŒ ๋‚˜๋ˆ„๋ฏ€๋กœ ๋‘ ๋ฒˆ์งธ๋กœ ์ž‘์€ ์ˆ˜๋ฅผ ๋ถ„์ž์— ๋†“๋Š”๋‹ค.

 

โœŒ๏ธ ์˜ˆ๋ฅผ ๋“ค์–ด 1, 2, 3, 4๊ฐ€ ์žˆ๋‹ค๋ฉด 1/3+ 2/4 ์‚ฌ์šฉ


โ˜… 7510 ๊ณ ๊ธ‰ ์ˆ˜ํ•™ โ˜…

 

for i in range(1,int(input())+1):
    l=sorted(map(int,input().split()))
    print(f'Scenario #{i}:')
    if l[2]**2 == (l[0]**2+l[1]**2):
        print('yes')
    else:print('no')
    print()

 

โœŒ๏ธ ์ฃผ์–ด์ง„ ์ œ์ผ ๊ธด ๋ณ€์˜ ๊ธธ์ด์˜ ์ œ๊ณฑ์ด ๋‚˜๋จธ์ง€ ๋‘ ๋ณ€์˜ ์ œ๊ณฑํ•ฉ์ด๋ฉด ์ง๊ฐ์‚ผ๊ฐํ˜•!


โ˜… 13222 Matches โ˜…

 

N,W,H=map(int,input().split())
limit = (W**2+H**2)**(1/2)

for _ in range(N):
    if int(input())<=limit:print('YES')
    else:print('NO')

 

โœŒ๏ธ ์ง์‚ฌ๊ฐํ˜•์˜ ๊ฐ€๋กœ์™€ ์„ธ๋กœ ๊ธธ์ด๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋†“์„ ์ˆ˜ ์žˆ๋Š” ์„ฑ๋ƒฅ์˜ ์ตœ๋Œ€ ๊ธธ์ด๋Š” ๋Œ€๊ฐ์„  ๊ธธ์ด! ํ”ผํƒ€๊ณ ๋ผ์Šค ์ •๋ฆฌ ์‚ฌ์šฉ


โ˜… 2525 ์˜ค๋ธ ์‹œ๊ณ„ โ˜…

 

A,B=map(int,input().split())
C=int(input())
after=(60*A+B+C)%1440
print(after//60, after%60)

 

โœŒ๏ธ ์‹œ๊ณ„ ๊ด€๋ จ ์—ฐ์‚ฐ์€ ๋ชจ๋‘ ์ดˆ๋กœ ๋ฐ”๊พธ์–ด ์—ฐ์‚ฐํ•œ ๋’ค, 1440์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ(์ „์ฒด ํ•˜๋ฃจ 1440์ดˆ) ๊ฐ€์ง€๊ณ  ์ดํ›„ ์‹œ๊ฐ์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.


โ˜… 15894 ์ˆ˜ํ•™์€ ์ฒด์œก๊ณผ๋ชฉ์ž…๋‹ˆ๋‹ค โ˜…

 

print(4*int(input()))

 

โœŒ๏ธ ๋งจ ์•„๋ž˜ ์ •์‚ฌ๊ฐํ˜• ๊ฐœ์ˆ˜๊ฐ€ n์ด๋ผ๋ฉด ์ „์ฒด n์ธต์„ ๋œปํ•˜๊ณ , ์˜† ๋ณ€์€ n*2, ์œ„ 1, ์•„๋ž˜ n, ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์ด๋Š” 1*(n-1)์ด๋ฏ€๋กœ ๋ชจ๋‘ ๋”ํ•˜๋ฉด 4*n


โ˜… 2959 ๊ฑฐ๋ถ์ด โ˜…

 

A,B,C,D=map(int,input().split())
a=sorted([A,B,C,D])
print(a[0]*a[2])

 

โœŒ๏ธ ์ตœ์†Œ ๊ธธ์ด์™€ ๋‘ ๋ฒˆ์งธ๋กœ ํฐ ๊ธธ์ด๊ฐ€ ๊ฑฐ๋ถ์ด๊ฐ€ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ง์‚ฌ๊ฐํ˜•์˜ ๊ฐ€๋กœ, ์„ธ๋กœ ๊ธธ์ด์ด๋‹ค.

 

โœŒ๏ธ ์ตœ์†Œ ๊ธธ์ด์—ฌ์•ผ ๋ฐ˜๋Œ€์ชฝ ๊ธธ์ด๊ฐ€ ์ตœ์†Œ ๊ธธ์ด ์ด์ƒ์ด๋ฏ€๋กœ ๋ณ€์œผ๋กœ ๊ฐ€๋Šฅํ•˜๊ณ  / ๋‘ ๋ฒˆ์งธ๋กœ ํฐ ๊ธธ์ด๋Š” ์ฒซ ๋ฒˆ์งธ๋กœ ํฐ ๊ธธ์ด๋ฅผ ๋ฐ˜๋Œ€์ชฝ ๊ธธ์ด๋กœ ๊ฐ„์ฃผํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ€๋Šฅ!


โ˜… 26849 Non Classical Problem โ˜…

 

import sys
input=sys.stdin.readline

max_ans,min_ans,total=0,2000000000,0

for _ in range(int(input())):
    a,b=map(int,input().split())
    x=a/b
    total+=x
    max_ans=max(x,max_ans)
    min_ans=min(x,min_ans)

print(min_ans,max_ans,total)

โ˜… 3009 ๋„ค ๋ฒˆ์งธ ์  โ˜…

 

a,b=map(int,input().split())
c,d=map(int,input().split())
e,f=map(int,input().split())
ans=[]

if a==c:ans.append(e)
elif a==e:ans.append(c)
else:ans.append(a)

if b==d:ans.append(f)
elif b==f:ans.append(d)
else:ans.append(b)

print(*ans)

 

โœŒ๏ธ ์ง์‚ฌ๊ฐํ˜•์—์„œ ๋„ค ์ ์ด ์ฃผ์–ด์งˆ ๋•Œ, ๊ฐ๊ฐ (x1,y1) (x1,y2) (x2,y1) (x2,y2)๋กœ ๊ฐ™์€ x ์Œ์ด ๋‘ ๊ฐœ, ๊ฐ™์€ y ์Œ์ด ๋‘ ๊ฐœ ์กด์žฌํ•œ๋‹ค.

 

โœŒ๏ธ ์ง์‚ฌ๊ฐํ˜•์„ ์ด๋ฃจ๋Š” ๋„ค ๊ฐœ์˜ ์ขŒํ‘œ ํŠน์„ฑ๋งŒ ์•Œ๋ฉด ๋!


โ˜… 6322 ์ง๊ฐ ์‚ผ๊ฐํ˜•์˜ ๋‘ ๋ณ€ โ˜…

 

i=0
while 1:
    i+=1
    l=list(map(int,input().split()))
    if l == [0,0,0]:
        break
    pos = l.index(-1)
    print(f'Triangle #{i}')
    if 0 in l:
        print('Impossible.')
    else:
        if pos==2:
            long_side = (l[0]**2 + l[1]**2)**(1/2)
            print(f'c = {long_side:.3f}')
        elif pos==1:
            if l[2]<=l[0]:print('Impossible.')
            else:
                short_side = (l[2]**2 - l[0]**2)**(1/2)
                print(f'b = {short_side:.3f}')
        else:
            if l[2]<=l[1]:print('Impossible.')
            else:
                short_side = (l[2]**2 - l[1]**2)**(1/2)
                print(f'a = {short_side:.3f}')
    print()

 

โœŒ๏ธ ๋ณ€์˜ ๊ธธ์ด๊ฐ€ 0์ผ ๊ฒฝ์šฐ๋งŒ ์ œ์™ธ


โ˜… 2010 ํ”Œ๋Ÿฌ๊ทธ โ˜…

 

import sys
input=sys.stdin.readline
N=int(input())
ans=[]
for _ in range(N):
    ans.append(int(input()))
print(sum(ans)-(N-1))

 

โœŒ๏ธ ๋ฉ€ํ‹ฐํƒญ์„ ํ•œ ๋ฒˆ ์—ฐ๊ฒฐํ•  ๋•Œ๋งˆ๋‹ค, ์ƒˆ๋กœ์šด ๋ฉ€ํ‹ฐํƒญ์˜ ์ฝ˜์„ผํŠธ ๊ฐœ์ˆ˜๋งŒํผ ๋”ํ•ด์ง€์ง€๋งŒ, ๊ธฐ์กด ๋ฉ€ํ‹ฐํƒญ์˜ ์ฝ˜์„ผํŠธ 1๊ฐœ๋Š” ์ฐจ๊ฐ๋จ


โ˜… 9299 Math Tutoring โ˜…

 

import sys
input=sys.stdin.readline

N=int(input())
i=1

for _ in range(N):
    coeffs=list(map(int,input().split()))
    coeff_term = coeffs[0]
    ans=[]
    for coeff in coeffs[1:-1]:
        ans.append(coeff_term*coeff)
        coeff_term-=1
    print(f'Case {i}: {coeffs[0]-1}',*ans)
    i+=1

 

โœŒ๏ธ ๋ฏธ๋ถ„ ๊ฐœ๋… ์‚ฌ์šฉ. ํ•œ ์ฐจ์ˆ˜ ๋‚ฎ์€ ๊ฒฐ๊ณผ๋กœ ๋‚˜์˜ค๋ฉด์„œ ๋‹คํ•ญ์‹์˜ ๋ฏธ๋ถ„ ๊ณ„์ˆ˜๋ฅผ ๊ฐ๊ฐ ๊ตฌํ•ด์ฃผ๋ฉด ๋œ๋‹ค.


๋Œ“๊ธ€