[BOJ][๐ŸŸก4][๋ฐฑ์ค€#17471] ๊ฒŒ๋ฆฌ๋งจ๋”๋ง

์ž‘์„ฑ:    

์—…๋ฐ์ดํŠธ:

์นดํ…Œ๊ณ ๋ฆฌ:

ํƒœ๊ทธ: , , ,

๋ฌธ์ œ ์ถœ์ฒ˜

BAEKJOON Online Judge #17471


๋ฌธ์ œ

๋ฐฑ์ค€์‹œ์˜ ์‹œ์žฅ ์ตœ๋ฐฑ์ค€์€ ์ง€๋‚œ ๋ช‡ ๋…„๊ฐ„ ๊ฒŒ๋ฆฌ๋งจ๋”๋ง์„ ํ†ตํ•ด์„œ ์ž์‹ ์˜ ๋‹น์—๊ฒŒ ์œ ๋ฆฌํ•˜๊ฒŒ ์„ ๊ฑฐ๊ตฌ๋ฅผ ํš์ •ํ–ˆ๋‹ค. ๊ฒฌ์ œํ•  ๊ถŒ๋ ฅ์ด ์—†์–ด์ง„ ์ตœ๋ฐฑ์ค€์€ย ๊ถŒ๋ ฅ์„ ๋งค์šฐ ๋ถ€๋‹นํ•˜๊ฒŒ ํ–‰์‚ฌํ–ˆ๊ณ , ์‹ฌ์ง€์–ด๋Š” ์‹œ์˜ ์ด๋ฆ„๋„ ๋ฐฑ์ค€์‹œ๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค. ์ด๋ฒˆ ์„ ๊ฑฐ์—์„œ๋Š” ์ตœ๋Œ€ํ•œ ๊ณตํ‰ํ•˜๊ฒŒ ์„ ๊ฑฐ๊ตฌ๋ฅผ ํš์ •ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๋ฐฑ์ค€์‹œ๋Š” N๊ฐœ์˜ ๊ตฌ์—ญ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๊ณ , ๊ตฌ์—ญ์€ 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๋‹ค. ๊ตฌ์—ญ์„ ๋‘ ๊ฐœ์˜ ์„ ๊ฑฐ๊ตฌ๋กœ ๋‚˜๋ˆ ์•ผ ํ•˜๊ณ ,ย ๊ฐ ๊ตฌ์—ญ์€ ๋‘ ์„ ๊ฑฐ๊ตฌ ์ค‘ ํ•˜๋‚˜์—ย ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค.ย ์„ ๊ฑฐ๊ตฌ๋Š” ๊ตฌ์—ญ์„ ์ ์–ด๋„ ํ•˜๋‚˜ ํฌํ•จํ•ด์•ผ ํ•˜๊ณ , ํ•œ ์„ ๊ฑฐ๊ตฌ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ตฌ์—ญ์€ ๋ชจ๋‘ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๊ตฌ์—ญ A์—์„œ ์ธ์ ‘ํ•œ ๊ตฌ์—ญ์„ ํ†ตํ•ด์„œ ๊ตฌ์—ญ B๋กœ ๊ฐˆ ์ˆ˜ ์žˆ์„ ๋•Œ, ๋‘ ๊ตฌ์—ญ์€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ค‘๊ฐ„์— ํ†ตํ•˜๋Š” ์ธ์ ‘ํ•œ ๊ตฌ์—ญ์€ 0๊ฐœ ์ด์ƒ์ด์–ด์•ผ ํ•˜๊ณ , ๋ชจ๋‘ ๊ฐ™์€ ์„ ๊ฑฐ๊ตฌ์— ํฌํ•จ๋œ ๊ตฌ์—ญ์ด์–ด์•ผ ํ•œ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ 6๊ฐœ์˜ ๊ตฌ์—ญ์ด ์žˆ๋Š” ๊ฒƒ์ด๊ณ , ์ธ์ ‘ํ•œ ๊ตฌ์—ญ์€ ์„ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค.

์•„๋ž˜๋Š” ๋ฐฑ์ค€์‹œ๋ฅผ ๋‘ ์„ ๊ฑฐ๊ตฌ๋กœ ๋‚˜๋ˆˆ 4๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด๋ฉฐ, ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•๊ณผ ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์˜ˆ์‹œ์ด๋‹ค.

๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ• [1, 3, 4]์™€ [2, 5, 6]์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค.

๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ• [1, 2, 3, 4, 6]๊ณผ [5]๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค.

๋ถˆ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ• [1, 2, 3, 4]์™€ [5, 6]์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋Š”๋ฐ, 5์™€ 6์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค.

๋ถˆ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ• ๊ฐ ์„ ๊ฑฐ๊ตฌ๋Š” ์ ์–ด๋„ ํ•˜๋‚˜์˜ ๊ตฌ์—ญ์„ ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค.

๊ณตํ‰ํ•˜๊ฒŒ ์„ ๊ฑฐ๊ตฌ๋ฅผ ๋‚˜๋ˆ„๊ธฐ ์œ„ํ•ด ๋‘ ์„ ๊ฑฐ๊ตฌ์— ํฌํ•จ๋œ ์ธ๊ตฌ์˜ ์ฐจ์ด๋ฅผ ์ตœ์†Œ๋กœ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๋ฐฑ์ค€์‹œ์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ธ๊ตฌ ์ฐจ์ด์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•ด๋ณด์ž.


์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ๊ตฌ์—ญ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์— ๊ตฌ์—ญ์˜ ์ธ๊ตฌ๊ฐ€ 1๋ฒˆ ๊ตฌ์—ญ๋ถ€ํ„ฐ N๋ฒˆ ๊ตฌ์—ญ๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. ์ธ๊ตฌ๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด์ ธ ์žˆ๋‹ค. ์…‹์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฐ ๊ตฌ์—ญ๊ณผ ์ธ์ ‘ํ•œ ๊ตฌ์—ญ์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ์ •๋ณด์˜ ์ฒซ ๋ฒˆ์งธ ์ •์ˆ˜๋Š” ๊ทธ ๊ตฌ์—ญ๊ณผ ์ธ์ ‘ํ•œ ๊ตฌ์—ญ์˜ ์ˆ˜์ด๊ณ , ์ดํ›„ ์ธ์ ‘ํ•œ ๊ตฌ์—ญ์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋ชจ๋“  ๊ฐ’์€ ์ •์ˆ˜๋กœ ๊ตฌ๋ถ„๋˜์–ด์ ธ ์žˆ๋‹ค. ๊ตฌ์—ญ A๊ฐ€ ๊ตฌ์—ญ B์™€ ์ธ์ ‘ํ•˜๋ฉด ๊ตฌ์—ญ B๋„ ๊ตฌ์—ญ A์™€ ์ธ์ ‘ํ•˜๋‹ค. ์ธ์ ‘ํ•œ ๊ตฌ์—ญ์ด ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค.


์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ๋ฐฑ์ค€์‹œ๋ฅผ ๋‘ ์„ ๊ฑฐ๊ตฌ๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ, ๋‘ ์„ ๊ฑฐ๊ตฌ์˜ ์ธ๊ตฌ ์ฐจ์ด์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค. ๋‘ ์„ ๊ฑฐ๊ตฌ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•œ๋‹ค.


์ œํ•œ

2 โ‰ค N โ‰ค 10 1 โ‰ค ๊ตฌ์—ญ์˜ ์ธ๊ตฌ ์ˆ˜ โ‰ค 100


์˜ˆ์ œ

์˜ˆ์ œ 1

์ž…๋ ฅ

6
5 2 3 4 1 2
2 2 4
4 1 3 6 5
2 4 2
2 1 3
1 2
1 2


์ถœ๋ ฅ

1


์˜ˆ์ œ 2

์ž…๋ ฅ

6
1 1 1 1 1 1
2 2 4
4 1 3 6 5
2 4 2
2 1 3
1 2
1 2


์ถœ๋ ฅ

0


์˜ˆ์ œ 3

์ž…๋ ฅ

6
10 20 10 20 30 40
0
0
0
0
0
0


์ถœ๋ ฅ

-1


์˜ˆ์ œ 4

์ž…๋ ฅ

6
2 3 4 5 6 7
2 2 3
2 1 3
2 1 2
2 5 6
2 4 6
2 4 5


์ถœ๋ ฅ

9


My Sol

def divSection(depth, s, M):
    global groupA, groupB
    if depth == M:
        groupB = list(set(range(N)) - set(groupA))
        if checkLink(groupA) and checkLink(groupB):
            calcMin(groupA, groupB)


    for k in range(s, N):
        if not visited[k]:
            visited[k] = 1
            groupA.append(k)
            divSection(depth+1, k+1, M)
            visited[k] = 0
            groupA.pop()


def checkLink(group):
    global links

    if len(group) == 1:
        return True

    i = group[0]
    linkQ = []
    for s in links[i]:
        if s in group:
            linkQ.append([i, s])
    start = -1
    end = len(linkQ)
    visitedQ = [0]*N
    visitedQ[i] = 1
    while start < end-1:
        start += 1
        s1, s2 = linkQ[start]
        if not visitedQ[s2]:
            visitedQ[s2] = 1
            for s in links[s2]:
                if s in group:
                    linkQ.append([s2, s])
                    end += 1

    for s in group:
        if not visitedQ[s]:
            return False
    return True



def calcMin(groupA, groupB):
    global populations, ans

    sumA = 0
    for s in groupA:
        sumA += populations[s]

    sumB = 0
    for s in groupB:
        sumB += populations[s]

    diff = abs(sumA - sumB)
    if ans > diff:
        ans = diff


N = int(input())
populations = list(map(int, input().split()))
links = []
for k in range(N):
    n, *link = list(map(int, input().split()))
    link = [i-1 for i in link]
    links.append(link)

visited=[0]*N
groupA = []
ans = 1000
for M in range(1, N//2+1):
    divSection(0, 0, M)

ans = -1 if ans==1000 else ans
print(ans)

๊ฝค๋‚˜ ์• ๋ฅผ ๋จน์—ˆ๋˜ ๋ฌธ์ œ์˜€๋‹ค. ์žฌ๊ท€์™€ ์กฐํ•ฉ์œผ๋กœ ์ „์ฒด ๋…ธ๋“œ๋ฅผ 2๋ถ„ํ• ํ•˜๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜์— ๋Œ€ํ•˜์—ฌ ๊ฐ ๋ถ„ํ• ๋œ ๊ตฌ์—ญ๋“ค์ด ๊ทธ๋ฃน ๋‚ด์—์„œ ๋ชจ๋‘ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ, ์ „์—ญ ๋ณ€์ˆ˜์ธ ans์— ๋Œ€ํ•ด ๊ฐ ๋…ธ๋“œ์˜ ์ธ๊ตฌ์ˆ˜๋ฅผ ๋”ํ•œ ๊ตฌ์—ญ ๋‚ด ์ธ๊ตฌ ์ˆ˜์˜ ์ฐจ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ณ„์† ๊ฐฑ์‹ ํ•˜์—ฌ ์ถœ๋ ฅํ•œ๋‹ค.


์ž…๋ ฅ

์ž…๋ ฅ์„ ํ˜•์‹์— ๋งž๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ณ , ๊ฐ ๊ตฌ์—ญ์ด ๋‹ค๋ฅธ ๊ตฌ์—ญ๊ณผ ์—ฐ๊ฒฐ๋˜๋Š” ์ •๋ณด๋ฅผ links ๋ฐฐ์—ด์— ๋ฆฌ์ŠคํŠธ ํ•ญ๋ชฉ์œผ๋กœ ์Œ“์•„ ๋„ฃ์–ด 2์ฐจ์› ๋ฐฐ์—ด๋กœ ์ €์žฅํ•œ๋‹ค.


์กฐํ•ฉ / DFS / Stack / ์žฌ๊ท€ : divSection()

DFS์™€ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ์ „์ฒด N๊ฐœ์˜ ๋…ธ๋“œ์— ๋Œ€ํ•˜์—ฌ ๊ทธ๋ฃน์„ ๋ถ„๋ฅ˜ํ•œ๋‹ค. 2๋ถ„ํ• ๋กœ ํ•  ๋ฟ ํฌ๊ธฐ์˜ ์ œํ•œ์€ 1๋ถ€ํ„ฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ M์œผ๋กœ ํ•˜๊ณ  ํ•จ์ˆ˜ ์™ธ๋ถ€ ์ „์—ญ์—์„œ for๋ฌธ์œผ๋กœ 1๋ถ€ํ„ฐ N//2๊นŒ์ง€ M์„ ์ง€์ •ํ•˜์—ฌ ํ•จ์ˆ˜์— ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค.

M์€ groupA์˜ ๊ตฌ์—ญ์˜ ๊ฐœ์ˆ˜์ด๋ฏ€๋กœ ๊ทธ ์ด์ƒ์€ ๋ฐ˜๋Œ€ํŽธ์ธ groupB์™€ ๊ฐ™์€ ์ƒํ™ฉ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณต์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด N//2๊นŒ์ง€ M์„ ์„ค์ •ํ•ด ์กฐํšŒํ•œ๋‹ค.

divSection() ํ•จ์ˆ˜์—์„œ ๋ณธ๊ฒฉ์ ์œผ๋กœ ๊ตฌ์—ญ์„ ๋‚˜๋ˆˆ๋‹ค. depth๋ฅผ ์™”๋‹ค๊ฐ”๋‹ค ํ•˜๋ฉด์„œ groupA๋ฅผ ์ฑ„์›Œ๊ฐ€๋Š”๋ฐ, M๊ฐœ๋งŒํผ groupA๋ฅผ ์ฑ„์šฐ๊ฒŒ ๋œ๋‹ค๋ฉด ๋‚˜๋จธ์ง€ ์ˆซ์ž๋“ค์„ groupB๋กœ ๋‚˜๋ˆ„์–ด์•ผ ํ•˜๋ฏ€๋กœ set์„ ์ด์šฉํ•ด ์ฐจ์ง‘ํ•ฉ์œผ๋กœ groupB๋ฅผ ๊ตฌํ•˜์˜€๋‹ค.

groupA์™€ groupB๋Š” 0๋ถ€ํ„ฐ N-1๊นŒ์ง€์˜ ์ธ๋ฑ์Šค๋กœ ์ •ํ•˜์˜€๊ณ , ์ด ์ธ๋ฑ์Šค๋ฅผ checkLink() ํ•จ์ˆ˜๋กœ ์ „๋‹ฌํ•˜์—ฌ ์ด ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์ธ๋ฑ์Šค ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.


์ธ์ž๋กœ ์ „๋‹ฌ๋œ group๋‚ด์˜ ๋ชจ๋“  ์ธ๋ฑ์Šค๊ฐ€ ์„œ๋กœ๋ฅผ ํ†ตํ•ด์„œ ์–ด๋–ป๊ฒŒ๋“  ์—ฐ๊ฒฐ๋œ๋‹ค๋ฉด ์—ฐ๊ฒฐ๋œ ์ง€์—ญ์œผ๋กœ True๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์–ด๋Š ๊ตฌ์—ญ์ด ์—ฐ๊ฒฐ๋˜์–ด์žˆ์ง€ ์•Š๋‹ค๋ฉด False๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์—ญํ• ์ด๋‹ค.

๋…ธ๋“œ ์กฐํšŒ์ด๊ธฐ ๋•Œ๋ฌธ์— DFS๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋˜์ง€๋งŒ ๋‹ค์–‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด๋ณด๊ณ ์ž BFS๋ฅผ ํ™œ์šฉํ•˜์˜€๋‹ค. group์ด 1๊ฐœ์˜ ๊ตฌ์—ญ๋งŒ ๊ฐ€์ง„๋‹ค๋ฉด ๋ฌด์กฐ๊ฑด True๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ ์ด๋ฅผ ์ฒ˜์Œ์— ์กฐ๊ฑด์œผ๋กœ ๋„ฃ์–ด์ฃผ์—ˆ๊ณ , Queue๋ฅผ ์ด์šฉํ•ด ์‹œ์ž‘๊ตฌ์—ญ๊ณผ ์—ฐ๊ฒฐ๋œ ๊ตฌ์—ญ์„ list ํ˜•์‹์œผ๋กœ Queue์— ๋„ฃ์–ด์ฃผ๋ฉฐ ์—ฐ๊ฒฐ์„ ์กฐํšŒํ•˜์˜€๋‹ค.

๋ฐฉ๋ฌธํ•˜์˜€๋Š”์ง€๋ฅผ visitedQ ๋ฐฐ์—ด์„ ์ด์šฉํ•ด ์ฒดํฌํ•˜๋ฉฐ, ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์— visitedQ์˜ ํ•ด๋‹น ์ธ๋ฑ์Šค๋ฅผ ์ฒดํฌํ•˜๊ณ  ํ•ด๋‹น ๊ตฌ์—ญ์—์„œ๋ถ€ํ„ฐ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ตฌ์—ญ๋“ค์˜ ์ •๋ณด๋ฅผ [์‹œ์ž‘ ๊ตฌ์—ญ, ์—ฐ๊ฒฐ ๊ตฌ์—ญ]์œผ๋กœ Queue์— ์‚ฝ์ž…ํ•˜์˜€๋‹ค. visitedQ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‚˜์ค‘์—๋Š” ์ธ๋ฑ์Šค ์ •๋ณด๋งŒ์œผ๋กœ Queue์— ๋Œ€ํ•œ ์‚ฝ์ž…์„ ํ”ผํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ™œ์šฉํ•œ๋‹ค.

์ด๋•Œ group ๋‚ด์˜ ๋ฒˆํ˜ธ๋“ค๊ณผ ์—ฐ๊ฒฐ๋˜๋Š” ๋…ธ๋“œ๋“ค๋งŒ Queue์— ์‚ฝ์ž…ํ•˜๋Š”๋ฐ, ์–ด์ฐจํ”ผ ๋‹ค๋ฅธ ๊ตฌ์—ญ๋“ค์€ ์—ฐ๊ฒฐ๋˜๋“  ์•ˆ ๋˜๋“  ์‚ฌ์šฉํ•˜๋Š” ์˜๋ฏธ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ฃน ๋‚ด๋ถ€์—์„œ๋งŒ ์›€์ง์—ฌ์•ผ ํ•œ๋‹ค.

start์™€ end-1๊ฐ€ ๊ฐ™์•„์ง€๋Š”, ์ฆ‰ Queue๊ฐ€ ๋น„๊ฒŒ ๋œ๋‹ค๋ฉด group๋‚ด์˜ ๊ตฌ์—ญ ์ˆซ์ž๋งˆ๋‹ค visitedQ๋ฅผ ์กฐํšŒํ•˜์—ฌ ๋ชจ๋“  ๊ฐ’์ด 1์ด๋ผ๋ฉด True, ํ•˜๋‚˜๋ผ๋„ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด False๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.


ํ•ฉ๊ณ„์˜ ์ฐจ์ด ์ตœ์†Ÿ๊ฐ’ ๊ณ„์‚ฐ : calcMin()

2๋ถ„ํ• ํ•œ ๋‘ ๊ทธ๋ฃน์ด ๋ชจ๋‘ True๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋ฉด divSection() ํ•จ์ˆ˜ ๋‚ด์—์„œ๋Š” ์ด ๋‘ ๊ทธ๋ฃน์˜ ์ธ๊ตฌ์ˆ˜ ํ•ฉ๊ณ„๋ฅผ ๊ฐ๊ฐ ๊ณ„์‚ฐํ•˜๊ณ  ์ด ์ฐจ์ด์™€ ๊ธฐ์กด ์ตœ์†Œ ์ฐจ์ด๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ๊ฐฑ์‹ ํ•œ๋‹ค.

ํŠน๋ณ„ํžˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์œผ๋ฉฐ, min() ํ•จ์ˆ˜ ๋Œ€์‹ ์— if ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•œ ๊ฒƒ์€ ์Šต๊ด€์ด๋‹ค..ใ…Žใ…Ž


๊ฒฐ๊ณผ

๋งž์•˜์Šต๋‹ˆ๋‹ค!!

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ