๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm/์ฝ”๋“œ์—…(Code up)

[ ํŒŒ์ด์ฌ(python) ] ์ฝ”๋“œ์—… 1476 ~ 1483 - 2์ฐจ์› ๋ฐฐ์—ด ๋น—๊ธˆ ์ฑ„์šฐ๊ธฐ 3-1 ~ 3-8

by YWTechIT 2021. 4. 30.
728x90

๐Ÿ“ 1476 : [ ๊ธฐ์ดˆ - ๋ฐฐ์—ด ์—ฐ์Šต ] 2์ฐจ์› ๋ฐฐ์—ด ๋น—๊ธˆ ์ฑ„์šฐ๊ธฐ 3-1

๋น—๊ธˆ์„ ์ฑ„์šฐ๋Š”๊ฒฝ์šฐ๋Š” 2์ค‘ ๋ฐ˜๋ณต๋ฌธ์ด ์•„๋‹Œ 3์ค‘ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ฒ˜์Œ์— ๊ทœ์น™์„ ์ฐพ์œผ๋ ค ํ•ด๋„ ๋„ํ†ต ์ฐพ์•„์ง€์งˆ ์•Š์•˜๋‹ค.
๊ทธ๋ž˜์„œ ๊ด€๋ จ์˜์ƒ(์œ ํŠœ๋ธŒ - ํ™ฉ์ง„๊ฒฝ ์ฝ”๋”ฉ์˜์žฌ์ปดํ“จํ„ฐํ•™์›)์—์„œ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ๋‹ค.

 

๋ฌธ์ œ์— ๋‚˜์™€์žˆ๋Š” arr[i][j]๊ฐ’์˜ ์ขŒํ‘œ๋ฅผ ์ฐ์–ด๋ณด๋ฉด ๋‹ค์Œ ์‚ฌ์ง„๊ณผ ๊ฐ™๋‹ค.

 

์ด์ „์— ํ’€์—ˆ๋˜ 2์ฐจ์› ๋ฐฐ์—ด ์ˆœ์„œ๋Œ€๋กœ ์ฑ„์šฐ๊ธฐ๋Š” 2์ค‘ ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•ด i, j๊ฐ’์ด ์ฆ๊ฐ€ํ•  ๋•Œ ์ˆœ์„œ๋Œ€๋กœ ๊ฐ’์„ ์ถœ๋ ฅํ–ˆ์œผ๋‚˜, ์ด๋ฒˆ ๋ฌธ์ œ๋Š” ์กฐ๊ฑด์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. i+j = sum์ธ ์กฐ๊ฑด์ด ๊ฐ™์„ ๋•Œ๋งŒ ์ขŒํ‘œ๋ฅผ ์ž…๋ ฅํ•˜๊ธฐ๋•Œ๋ฌธ์— i, j๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜์— ์กฐ๊ฑด์„ ๋Œ€์ž…ํ•ด์•ผ ํ•œ๋‹ค.

 

๋”ฐ๋ผ์„œ, 3์ค‘ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด K(sum)๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํŒŒ์•…ํ•ด์•ผ ํ•œ๋‹ค. ์ด๋•Œ K๊ฐ’์€ ๋น—๊ธˆ์ด 6๋ฒˆ ๋งŒ์— ๋๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฒ”์œ„๋ฅผ for k in range(m+n)๊นŒ์ง€ ์„ ์–ธํ•ด์ค€๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๊ฐ’์€ ์„ธ๋กœ๋ถ€ํ„ฐ ์ฑ„์›Œ ์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋ณต๋ฌธ์—๋Š” ์„ธ๋กœ(m)๋ฅผ ๋จผ์ € ์„ ์–ธํ•˜๊ณ  ๋‚˜์ค‘์— ๊ฐ€๋กœ(n)๋ฅผ ๋„ฃ์–ด์ค€๋‹ค.

 

n, m = map(int, input().split())
arr = [[0] * m for _ in range(n)]

cnt = 0
for k in range(n+m):
    for i in range(m):
        for j in range(n):
            if i + j == k:
                cnt += 1
                arr[j][i] = cnt

for i in arr:
    print(*i, ' ')

๐Ÿ“ 1477 : [ ๊ธฐ์ดˆ - ๋ฐฐ์—ด ์—ฐ์Šต ] 2์ฐจ์› ๋ฐฐ์—ด ๋น—๊ธˆ ์ฑ„์šฐ๊ธฐ 3-2

1476๋ฌธ์ œ์™€ ๋™์ผํ•˜์ง€๋งŒ ๊ฐ’์ด ์ฑ„์›Œ์ง€๋Š” ์ˆœ์„œ๊ฐ€ ๋ฐ˜๋Œ€์ธ ๋ฌธ์ œ๋‹ค. ๊ฐ’์€ ๊ฐ€๋กœ๋ถ€ํ„ฐ ์ฑ„์›Œ ์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋ณต๋ฌธ์—๋Š” ๊ฐ€๋กœ(n)๋ฅผ ๋จผ์ € ์„ ์–ธํ•˜๊ณ  ๋‚˜์ค‘์— ์„ธ๋กœ(m)๋ฅผ ๋„ฃ์–ด์ค€๋‹ค.

n, m = map(int, input().split())
arr = [[0] * m for _ in range(n)]

cnt = 0
for k in range(n+m):
    for i in range(n):
        for j in range(m):
            if i+j == k:
                cnt += 1
                arr[i][j] = cnt

for i in arr:
    print(*i, ' ')

๐Ÿ“ 1478 : [ ๊ธฐ์ดˆ - ๋ฐฐ์—ด ์—ฐ์Šต ] 2์ฐจ์› ๋ฐฐ์—ด ๋น—๊ธˆ ์ฑ„์šฐ๊ธฐ 3-3

์ด๋ฒˆ์—๋Š” ์šฐ์ธก ์ƒ๋‹จ๋ถ€ํ„ฐ ์ฑ„์›Œ์ง€๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ˆœ์„œ๋Œ€๋กœ ๋ฐฐ์—ด์„ ์ฑ„์› ๋˜ ๋ฌธ์ œ๋Š” ๋‹จ์ˆœํ•˜๊ฒŒ n ํ˜น์€ m์˜ ๋ฒ”์œ„๋ฅผ ๋’ค์—์„œ๋ถ€ํ„ฐ ์žก์œผ๋ฉด ๋˜์ง€๋งŒ, ์‚ผ์ค‘ ๋ฐ˜๋ณต๋ฌธ์˜ ๊ฒฝ์šฐ์—๋Š” k์˜ ๊ฐ’๋„ ์‹ ๊ฒฝ ์จ์ค˜์•ผ ํ•œ๋‹ค.
๊ทธ๋ž˜์„œ 1476๋ฒˆ์ฒ˜๋Ÿผ i, j์˜ ์ขŒํ‘œ๋ฅผ ์ ์–ด๋†“๊ณ  ๋”ํ–ˆ๋”๋‹ˆ ๋˜ ๊ทœ์น™์„ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ๋‹ค. ์ด๋Ÿด ๋•Œ n ํ˜น์€ m์„ ์ด์šฉํ•˜์ž. i-j+m์˜ ์กฐ๊ฑด์ผ ๋•Œ๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ๊ทœ์น™์ด ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

 

n, m = map(int, input().split())
arr = [[0] * m for _ in range(n)]

cnt = 0
for k in range(n+m):
    for i in range(n):
        for j in range(m-1, -1, -1):
            if i-j+m == k:
                cnt += 1
                arr[i][j] = cnt

for i in arr:
    print(*i, ' ')

๐Ÿ“ 1479 : [ ๊ธฐ์ดˆ - ๋ฐฐ์—ด ์—ฐ์Šต ] 2์ฐจ์› ๋ฐฐ์—ด ๋น—๊ธˆ ์ฑ„์šฐ๊ธฐ 3-4

n, m = map(int, input().split())
arr = [[0] * m for _ in range(n)]

cnt = 0
for k in range(n+m):
    for i in range(n-1, -1, -1):
        for j in range(m):
            if i - j + m == k:
                cnt += 1
                arr[i][j] = cnt

for i in arr:
    print(*i, ' ')

๐Ÿ“ 1480 : [ ๊ธฐ์ดˆ - ๋ฐฐ์—ด์—ฐ์Šต ] 2์ฐจ์› ๋ฐฐ์—ด ๋น—๊ธˆ ์ฑ„์šฐ๊ธฐ 3-5

์ด๋ฒˆ์—๋Š” 1์ด ์šฐ์ธก ํ•˜๋‹จ์— ์žˆ๋Š” ๋ฌธ์ œ๋‹ค. ์ด๋•Œ๋Š” k์˜ ๋ฒ”์œ„๋ฅผ ๊ฑฐ๊พธ๋กœ ์„ ์–ธํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

n, m = map(int, input().split())
arr = [[0] * m for _ in range(n)]

cnt = 0
for k in range(n+m-1, -1, -1):
    for i in range(n):
        for j in range(m):
            if i+j == k:
                cnt += 1
                arr[i][j] = cnt

for i in arr:
    print(*i, ' ')

๐Ÿ“ 1481 : [ ๊ธฐ์ดˆ - ๋ฐฐ์—ด์—ฐ์Šต ] 2์ฐจ์› ๋ฐฐ์—ด ๋น—๊ธˆ ์ฑ„์šฐ๊ธฐ 3-6

n, m = map(int, input().split())
arr = [[0] * m for _ in range(n)]

cnt = 0
for k in range(n+m-1, -1, -1):
    for i in range(m):
        for j in range(n):
            if i+j == k:
                cnt += 1
                arr[j][i] = cnt

for i in arr:
    print(*i, ' ')

๐Ÿ“ 1482 : [ ๊ธฐ์ดˆ - ๋ฐฐ์—ด์—ฐ์Šต ] 2์ฐจ์› ๋ฐฐ์—ด ๋น—๊ธˆ ์ฑ„์šฐ๊ธฐ 3-7

n, m = map(int, input().split())
arr = [[0] * m for _ in range(n)]

cnt = 0
for k in range(n+m):
    for i in range(m-1, -1, -1):
        for j in range(n):
            if i-j+n == k:
                cnt += 1
                arr[j][i] = cnt

for i in arr:
    print(*i, ' ')

๐Ÿ“ 1483 : [ ๊ธฐ์ดˆ - ๋ฐฐ์—ด์—ฐ์Šต ] 2์ฐจ์› ๋ฐฐ์—ด ๋น—๊ธˆ ์ฑ„์šฐ๊ธฐ 3-8

n, m = map(int, input().split())
arr = [[0] * m for _ in range(n)]

cnt = 0
for k in range(n+m):
    for i in range(m):
        for j in range(n):
            if i-j+n == k:
                cnt += 1
                arr[j][i] = cnt

for i in arr:
    print(*i, ' ')

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€