2355๋ฒ: ์๊ทธ๋ง
๐กํ์ด
๋ฑ ๋ด๋ for๋ฌธ์ผ๋ก ์ฒ๋ฆฌํ๋ฉด ์๊ฐ ์ด๊ณผ๊ฐ ๋ ๊ฒ ๊ฐ์ ๊ทน์ ๋ฌด๋ํ ์ ๋ ฅ ๋ฒ์๋ค. '๋ฑ์ฐจ์์ด์ ํฉ' ๊ณต์์ ์ด์ฉํด์ ์ฒ๋ฆฌํด์ฃผ๋ฉด ๋๋๋ฐ ์ด ๋ A, B ์ค ์ด๋ ์๊ฐ ํฐ ์์ธ์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ min/max๋ก ๋์ ๊ด๊ณ๋ง ํ์คํ๊ฒ ํด์ฃผ๋ฉด ๋๋ค.
2530๋ฒ: ์ธ๊ณต์ง๋ฅ ์๊ณ
๐กํ์ด
ํญ์ ์๊ฐ ๊ณ์ฐ ๋ฌธ์ ๋ฅผ ๋ง๋๋ฉด ์ต๊ด์ ์ผ๋ก if๋ฌธ์ ๋ ์ฌ๋ฆฌ๋๋ฐ ์กฐ๊ฑด์ ์ ๋๋๊ณ ์กฐ๊ฑด๋ณ๋ก ํ์คํ๊ฒ ์ฒ๋ฆฌํ๋ฉด ์ ๋ต์ด ๋๊ธด ํ ๊ฒ์ด๋ค. ํ์ง๋ง ๋์ฒ๋ผ ํญ์ ๋ญ๊ฐ ๋นผ๋จน๋ ๊ฒฝ์ฐ๊ฐ ์๊ณ if๋ฌธ์ผ๋ก ์ง์ ๋ถํ ์ฝ๋๋ฅผ ๋ณด๊ณ ์ถ์ง ์๋ค๋ฉด ๊ฐ์ฅ ์์ ๋จ์๋ก ๋ชจ๋ ๋ณํํ ๋ค์ ์ฌ์น์ฐ์ฐ์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ด ๊ด์ฐฎ์๋ณด์ธ๋ค. ์ด ๋ฌธ์ ๋ฅผ ํฌํจํด ์ฌ๋ฌ ๊ฐ์ ์๊ฐ ๊ณ์ฐ ๋ฌธ์ ๋ฅผ ํ์๋๋ฐ ์์ ๋งํ ๋ฐฉ์์ด ๊ฐ์ฅ ๊น๋ํ๋ค๊ณ ์๊ฐํด ์์ผ๋ก๋ ๊ณ์ ์๋์ฒ๋ผ ๋ฌธ์ ๋ฅผ ํ ์์ ์ด๋ค.
A, B, C = map(int, input().split())
D = int(input())
# ํ์ฌ ์๊ฐ์ ๋ชจ๋ ์ด๋ก ๋ณํ
total_seconds = A * 3600 + B * 60 + C + D
hour = (total_seconds // 3600) % 24 # 24์๊ฐ ์ด์ ๋์ด๊ฐ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌ
minute = (total_seconds % 3600) // 60
sec = total_seconds % 60
print(hour, minute, sec)
2846๋ฒ: ์ค๋ฅด๋ง๊ธธ
๐กํ์ด
๋ฌธ์ ์ดํด๋ ์ค๋ ๊ฑธ๋ฆฌ์ง ์์์ง๋ง ํ๋ฆด ๋ฏ ๋ง ๋ฏ ์ ํ๋ ค์ ์ฑ์งํผํฐ์ ๋์์ ๋ฐ์๋ค. ๋๋ ์ค๋ฅด๋ง๊ธธ์ ์์์ ๊ณผ ๋์ ์ ๊ธฐ๋กํด๋๊ณ ๋ ์ง์ ์ ์ฐจ์ด๋ก ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํ๋ ค๊ณ ํ๋๋ฐ, ๊ฒฐ๋ก ์ ์ผ๋ก๋ ์์์ ๊ณผ ๋์ ์ ๊ธฐ๋กํ๋ ๋ถ๋ถ ๊ตฌํ์ ์คํจํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฌธ์ ๋ฅผ ๋ชป ํ์๋ค. ๋ด๊ฐ ์๋ํ ๋ฐฉ๋ฒ๊ณผ ์ฑ์งํผํฐ ๋ฐฉ๋ฒ์ ๊ณตํต์ ์ ํ์ฌ ์ค๋ฅด๋ง๊ธธ์ ์์์ ์ ์ ์ฅํ๊ธฐ ์ํ ๋ณ์๋ฅผ ์ ์ธํ๋ค ์ ๋?
์ฑ์งํผํฐ ๋ฐฉ์์์ ๊ธฐ์ตํด๋ฌ์ผ๊ฒ ๋ค ์ถ์๋ ๋ถ๋ถ์ โ ์ค๋ฅด๋ง๊ธธ์ด ์ด์ด์ง๋ ๊ฒฝ์ฐ ๋ ์ง์ ์ ์ฐจ์ด๋ฅผ ๊ณ์ ๋ํด์ฃผ๋ฉด์ ํฌ๊ธฐ๋ฅผ ๊ฐฑ์ ํ๋ค๋ ๊ฒ๊ณผ โก ์ค๋ฅด๋ง๊ธธ์ด ๋๊ธฐ์ง ์์ ์ํ๋ก ๋ฆฌ์คํธ๊ฐ ๋๋๋ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ด๋ค.
N = int(input())
heights = list(map(int, input().split()))
max_uphill = 0
# ํ์ฌ ์ค๋ฅด๋ง๊ธธ์ ์์์ ๊ณผ ํฌ๊ธฐ ์ถ์ ์ฉ ๋ณ์
current_uphill = 0
for i in range(1, N):
if heights[i] > heights[i-1]: # ์ค๋ฅด๋ง๊ธธ์ด ์ด์ด์ง๋ ๊ฒฝ์ฐ
current_uphill += heights[i]-heights[i-1]
else:
max_uphill = max(current_uphill, max_uphill)
current_uphill = 0
# ๋ง์ง๋ง ์ค๋ฅด๋ง๊ธธ์ด ๋ฆฌ์คํธ ๋์์ ๋๋๋ ๊ฒฝ์ฐ ์ฒ๋ฆฌ
# ์) 1 2 3 4 5 / ๋ฆฌ์คํธ๋ ๋๋ฌ์ง๋ง ์ค๋ฅด๋ง๊ธธ์ด ๋๋์ง ์์๊ธฐ ๋๋ฌธ์ else๋ฌธ์ ๋ค์ด๊ฐ์ง ๋ชปํจ
max_uphill = max(max_uphill, current_uphill)
print(max_uphill)
6322๋ฒ: ์ง๊ฐ ์ผ๊ฐํ์ ๋ ๋ณ
๐กํ์ด
์ด ๋ฌธ์ ๋ ์ ์ถํ๋๊น 'ํ๋ ธ์ต๋๋ค'๋ ์๋๊ณ ์๊พธ ValueError๊ฐ ๋ ์ ๋ญ์ง ์ถ์๋ค. ์๊ณ ๋ณด๋ math.sqrt ๋ฉ์๋๋ฅผ ์ธ ๋ ์์๊ฐ ์ ๋ ฅ๋๋ฉด ์๋๋ ๊ฒ ๋น์ฐํ ๊ฑด๋ฐ ์ ๊ณฑํ์ผ๋๊น ๋ญ~ ํ๋ฉด์ ์ ๋ถ๋ถ์ ์ ๊ฒฝ ์ ์จ์ ๊ทธ๋ฐ ๊ฑฐ์๋ค โญ ์ด ๋ฌธ์ ๋ฅผ ํตํด ํ์คํ๊ฒ ํ๋ ๋ฐฐ์ฐ๊ฒ ๋๋ค.
19532๋ฒ: ์ํ์ ๋น๋๋ฉด๊ฐ์์ ๋๋ค
๐กํ์ด
์ฐ๋ฆฌ๊ฐ ์ผ๋ฐ์ ์ผ๋ก ์ผ์ฐจ๋ฐฉ์ ์ ํธ๋ ๋ฐฉ๋ฒ ๊ทธ๋๋ก ๊ตฌํํ๋๋ ํต๊ณผ๋ ํ๋๋ฐ ์ฝ๋๊ฐ ๊ธธ๊ธฐ๋ ํ๊ณ ๋ญ๊ฐ ์ง์ ๋ถํด์ ์ด๊ฒ ์ต์ ์ธ๊ฐ? ์ถ์ด ์ฑ์งํผํฐ์๊ฒ ๋ฌผ์ด๋ดค๋ค๊ฐ ๋๋ฌด ๊ฐ๋จํด์ ๋๋ ๋ ธ ์. ์ ๋ ฅ ๋ฒ์๊ฐ ์ ํฐ๋ฐ ๋ ์ ์ ๋ ๊ฒ ํ ์๊ฐ์ ๋ชป ํ์ง ์ถ์ด์ ์ฌ๊ธฐ ๋ฐฑ์ ํด๋๋ค.
1) ์ ๋ต ์ฝ๋ by ChatGPT
a, b, c, d, e, f = map(int, input().split())
# ๋ ๋ณ์ x์ y๋ฅผ ์ฐพ๊ธฐ ์ํ ๋ฐ๋ณต๋ฌธ
for x in range(-999, 1000):
for y in range(-999, 1000):
# ๋ ๋ฐฉ์ ์์ ๋ง์กฑํ๋ x, y ์ฐพ๊ธฐ
if a * x + b * y == c and d * x + e * y == f:
print(x, y)
break
2) ์ ๋ต ์ฝ๋ by ๋
def find_lcm(n1, n2):
multiply = n1*n2
while n2 != 0:
n1, n2 = n2, n1%n2
return multiply//n1
a, b, c, d, e, f = map(int, input().split())
x_lcm = find_lcm(abs(a), abs(d))
if a == 0 or d == 0:
if a == 0:
y = c//b
x = (f-e*y)//d
elif d == 0:
y = f//e
x = (c-b*y)//a
elif b == 0 or e == 0:
if b == 0:
x = c//a
y = (f-d*x)//e
elif e == 0:
x = f//d
y = (c-a*x)//b
else:
new_a, new_b, new_c = a*(x_lcm//a), b*(x_lcm//a), c*(x_lcm//a)
new_d, new_e, new_f = d*(x_lcm//d), e*(x_lcm//d), f*(x_lcm//d)
if (new_a > 0 and new_d > 0) or (new_a < 0 and new_d < 0):
y = (new_c-new_f)//(new_b-new_e)
else:
y = (new_c+new_f)//(new_b+new_e)
x = (new_c-new_b*y)//new_a
print(x, y)
'Problem Solving > BOJ & Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] 2579๋ฒ: ๊ณ๋จ ์ค๋ฅด๊ธฐ (0) | 2024.10.21 |
---|---|
[BOJ] 2607๋ฒ: ๋น์ทํ ๋จ์ด (0) | 2024.10.18 |
[BOJ] 1032๋ฒ: ๋ช ๋ น ํ๋กฌํํธ (0) | 2024.10.03 |
[BOJ] 1002๋ฒ: ํฐ๋ (0) | 2024.10.03 |
[BOJ] 1065๋ฒ: ํ์ (1) | 2024.09.28 |