๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿง CodingTest

[Python] 2์ฐจ์› ๋ฆฌ์ŠคํŠธ(๋ฐฐ์—ด)

by ._.sori 2025. 7. 2.

 

์•ž์—์„œ ํŒŒ์ด์ฌ์˜ ๋ฆฌ์ŠคํŠธ์— ๊ด€ํ•ด ๋ฐฐ์› ๋Š”๋ฐ,
2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋Š” ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค๊นŒ?

 

 

 

2์ฐจ์› ๋ฆฌ์ŠคํŠธ

 

  • ์ง์ ‘ ๊ฐ’ ๋„ฃ์–ด 2์ฐจ์› ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ
age = [[10, 11, 12], [13, 14, 15], [16, 17, 18]]
<๊ฒฐ๊ณผ>
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

 

 

  • ํฌ๊ธฐ๋งŒ ์ •ํ•˜๊ณ  ์›ํ•˜๋Š” ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•˜์—ฌ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ
# ํ–‰ ๊ฐœ์ˆ˜
n = 3

# ์—ด ๊ฐœ์ˆ˜
m = 4

# 0์œผ๋กœ ์ดˆ๊ธฐํ™”๋œ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ
age = [[0]*m for _ in range(n)]
<๊ฒฐ๊ณผ>
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

 

 

  • ์›์†Œ ๊ฐ’์„ ์ง์ ‘ ์ž…๋ ฅ ๋ฐ›์•„ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ
# ํ–‰๊ณผ ์—ด์„ ์ž…๋ ฅํ•œ๋‹ค.
n = int(input())

age = []

# ์ž…๋ ฅํ•œ ํ–‰์˜ ์ˆ˜ ๋งŒํผ ๋ฐ˜๋ณตํ•œ๋‹ค.
for _ in range(n):
    # ์—ด์— ๋“ค์–ด๊ฐˆ ์›์†Œ๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ๋ฐ›๋Š”๋‹ค.
    row = list(map(int, input().split()))
    # row์˜ ๊ฐ’๋“ค์„ age ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•œ๋‹ค.
    age.append(row)
<์ž…๋ ฅ>
3
1 2 3
4 5 6
7 8 9

<๊ฒฐ๊ณผ>
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

 

 

  • ์ปดํ”„๋ฆฌํ—จ์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ
# ํ–‰์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.
n = int(input())

# n๋งŒํผ ๋ฐ˜๋ณตํ•˜๊ณ , ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์—ฌ, ์—ด์„ ์ฑ„์šด๋‹ค.
age = [list(map(int, input().split())) for _ in range(n)]
<์ž…๋ ฅ>
3
1 2 3
4 5 6
7 8 9

<๊ฒฐ๊ณผ>
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

 

 

 

 

์ฃผ์˜

age = [[0]*4]*3
<๊ฒฐ๊ณผ>
[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
๊ฒ‰์œผ๋กœ ๋ณด๊ธฐ์—” ์ž˜ ๋งŒ๋“ค์–ด์ง„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณด์ธ๋‹ค. ์—ฌ๊ธฐ์— age[0][0] = 99๋ฅผ ํ•ด๋ณด๊ฒ ๋‹ค.

 

age = [[0]*4]*3
age[0][0] = 99
<๊ฒฐ๊ณผ>
[[99, 0, 0, 0], [99, 0, 0, 0], [99, 0, 0, 0]]
age[0][0]๋งŒ ๋ฐ”๊ฟจ๋Š”๋ฐ age[1][0]๊ณผ age[2][0]๋„ ๊ฐ’์ด ๋ฐ”๋€Œ์—ˆ๋‹ค. 0๋ฒˆ์งธ ํ–‰๊ณผ 1๋ฒˆ์งธ ํ–‰, 2๋ฒˆ์งธ ํ–‰์˜ ์ฃผ์†Œ๊ฐ’์„ ํ™•์ธํ•ด๋ณด์ž.

 

print(age[0]is age[1])
print(age[1]is age[2])
<๊ฒฐ๊ณผ>
True
True
ํ™•์ธ ๊ฒฐ๊ณผ ์ฃผ์†Œ๊ฐ’์ด ๊ฐ™์€ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์–ด๋–ป๊ฒŒ ๋œ๊ฑธ๊นŒ? 

 

age = [[0]*4]*3
์ด ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ด๋ณด์ž. [0]*4๋Š” 0์„ 4๋ฒˆ ๋„ฃ์–ด์„œ ํ•˜๋‚˜์˜ ๋ฆฌ์ŠคํŠธ๋กœ ๋งŒ๋“ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋งŒ๋“  ๋ฆฌ์ŠคํŠธ๋ฅผ 3๋ฒˆ ๊ณฑํ•˜์—ฌ ์ด์ค‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ ๋‹ค. ์ฆ‰, [0, 0, 0, 0] ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] ๋งŒ๋“ ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์ ์€ ๋ณต์‚ฌํ–ˆ๋‹ค๋Š” ์ ์ด๋‹ค. ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ๋˜‘๊ฐ™์€ ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋œ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ age[0][0]์˜ ๊ฐ’์„ ๋ฐ”๊พธ๋ฉด ๊ฒฐ๊ตญ age[1][0]๋„ ๊ฐ™์€ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ ํ•จ๊ป˜ ๋ฐ”๋€Œ๊ฒŒ ๋œ๋‹ค.