1.  format() ํ•จ์ˆ˜

 

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป  ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋กœ ์ค‘๊ด„ํ˜ธ{}๋ฅผ ํฌํ•จํ•œ ๋ฌธ์ž์—ด ๋’ค์— ๋งˆ์นจํ‘œ(.)๋ฅผ ์ฐ๊ณ  format() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ

       โ–ถ๏ธ  ์ค‘๊ด„ํ˜ธ ๊ฐœ์ˆ˜์™€ format() ํ•จ์ˆ˜ ๊ด„ํ˜ธ ์•ˆ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜๋Š” ๋ฐ˜๋“œ์‹œ ๊ฐ™์•„์•ผ ํ•จ

"{}".format(10)
"{} {}".format(10,20)

 

   ๐Ÿ“Œ ์œ„์˜ ๊ตฌ๋ฌธ๊ณผ ๊ฐ™์ด ์•ž์ชฝ์— ์žˆ๋Š” ๋ฌธ์ž์—ด {} ๊ธฐํ˜ธ๊ฐ€ format() ํ•จ์ˆ˜ ๊ด„ํ˜ธ ์•ˆ์— ์žˆ๋Š” ๋งค๊ฐœ ๋ณ€์ˆ˜๋กœ ์ฐจ๋ก€๋กœ ๋Œ€์น˜๋˜๋ฉด์„œ ์ˆซ์ž๊ฐ€ ๋ฌธ์ž์—ด๋กœ ๋˜๋Š” ๊ฒƒ

 

zipcode = '06236'
print('์šฐํŽธ๋ฒˆํ˜ธ : {}'.format(zipcode)) # format() ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด ์ถœ๋ ฅ
# ๊ฒฐ๊ณผ) ์šฐํŽธ๋ฒˆํ˜ธ : 06236

zipcode_str = '์šฐํŽธ๋ฒˆํ˜ธ : {}'.format(zipcode)
print(zipcode_str)
# ๊ฒฐ๊ณผ) ์šฐํŽธ๋ฒˆํ˜ธ : 06236

address = '''์„œ์šธํŠน๋ณ„์‹œ ๊ฐ•๋‚จ๊ตฌ
ํ…Œํ—ค๋ž€๋กœ 146''' # multi line
print('์ฃผ์†Œ : {addr}'.format(addr=address))  # format() ๋ฉ”์„œ๋“œ์˜ ๋ณ€์ˆ˜ ์ด์šฉ
# ๊ฒฐ๊ณผ) ์ฃผ์†Œ : ์„œ์šธํŠน๋ณ„์‹œ ๊ฐ•๋‚จ๊ตฌ
# ํ…Œํ—ค๋ž€๋กœ 146

 

  ๐Ÿ“Œ  {} ๊ธฐํ˜ธ์˜ ๊ฐœ์ˆ˜๊ฐ€ format() ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐœ์ˆ˜๋ณด๋‹ค ๋งŽ์œผ๋ฉด IndexError ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒ

 


2.  format() ํ•จ์ˆ˜์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ

 

1) ์ •์ˆ˜ ์ถœ๋ ฅ์˜ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ

# ์ •์ˆ˜๋ฅผ ํŠน์ • ์นธ์— ์ถœ๋ ฅํ•˜๊ธฐ

# ์ •์ˆ˜
num_a = "{:d}".format(52)

# ํŠน์ • ์นธ์— ์ถœ๋ ฅํ•˜๊ธฐ
num_b = "{:5d}".format(52)  # 5์นธ
num_c = "{:10d}".format(52) # 10์นธ

# ๋นˆ์นธ์„ 0์œผ๋กœ ์ฑ„์šฐ๊ธฐ
num_d = "{:05d}".format(52)  # ์–‘์ˆ˜
num_e = "{:05d}".format(-52) # ์Œ์ˆ˜

print('# ๊ธฐ๋ณธ')
print(num_a)
print('# ํŠน์ • ์นธ์— ์ถœ๋ ฅํ•˜๊ธฐ')
print(num_b)
print(num_c)
print('# ๋นˆ์นธ์„ 0์œผ๋กœ ์ฑ„์šฐ๊ธฐ')
print(num_d)
print(num_e)

 

์‹คํ–‰๊ฒฐ๊ณผ

 

๐Ÿ“Œ  {:d}๋Š” int ์ž๋ฃŒํ˜•์˜ ์ •์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๊ฒ ๋‹ค๊ณ  ์ง์ ‘์ ์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๊ฒƒ

       โžก๏ธ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ •์ˆ˜๋งŒ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“Œ  {:5d}๋Š” 5์นธ์„ ๋นˆ์นธ์œผ๋กœ ์žก๊ณ  ๋’ค์—์„œ๋ถ€ํ„ฐ 52๋ผ๋Š” ์ˆซ์ž๋ฅผ ์ฑ„์šด๋‹ค.

๐Ÿ“Œ  {:05d}๋Š” 5์นธ์„ ์žก๊ณ  ๋’ค์—์„œ๋ถ€ํ„ฐ 52๋ผ๋Š” ์ˆซ์ž๋ฅผ ๋„ฃ์€ ํ›„ ์•ž์˜ ๋นˆ๊ณณ์„ 0์œผ๋กœ ์ฑ„์šด๋‹ค.

       โžก๏ธ ๋ถ€ํ˜ธ๊ฐ€ ์žˆ์„ ๋•Œ๋Š” ๋งจ ์•ž์ž๋ฆฌ๋ฅผ ๋ถ€ํ˜ธ๋กœ ์ฑ„์šฐ๊ณ  ๋‚˜๋จธ์ง€ ๋นˆ ๊ณณ์„ 0์œผ๋กœ ์ฑ„์›€

 

 


# ๊ธฐํ˜ธ์™€ ํ•จ๊ป˜ ์ถœ๋ ฅํ•˜๊ธฐ
num_a = "{:+d}".format(33)  # ์–‘์ˆ˜
num_b = "{:+d}".format(-33) # ์Œ์ˆ˜
num_c = "{: d}".format(33) # ์–‘์ˆ˜: ๊ธฐํ˜ธ ๋ถ€๋ถ„ ๊ณต๋ฐฑ
num_d = "{: d}".format(-33)# ์Œ์ˆ˜: ๊ธฐํ˜ธ ๋ถ€๋ถ„ ๊ณต๋ฐฑ

print("# ๊ธฐํ˜ธ์™€ ํ•จ๊ป˜ ์ถœ๋ ฅํ•˜๊ธฐ")
print(num_a)
print(num_b)
print(num_c)
print(num_d)

 

 

๐Ÿ“Œ  {:+d} ์™€ ๊ฐ™์ด d์•ž์— +๊ธฐํ˜ธ๋ฅผ ๋ถ™์ด๋ฉด ์–‘์ˆ˜์™€ ์Œ์ˆ˜ ๊ธฐํ˜ธ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“Œ  {: d} ์ฒ˜๋Ÿผ ์•ž์— ๊ณต๋ฐฑ์„ ๋‘์–ด ๊ธฐํ˜ธ ์œ„์น˜๋ฅผ ๋น„์›Œ์ฃผ๋ฉด ํ•จ์ˆ˜์— ์ž…๋ ฅํ•œ ๊ธฐํ˜ธ๊ฐ€ ํ‘œํ˜„๋œ๋‹ค.

 

 

 

 

# < : ์ง€์ •๋œ ๊ณต๊ฐ„ ๋‚ด์—์„œ ์™ผ์ชฝ ์ •๋ ฌ
# > : ์ง€์ •๋œ ๊ณต๊ฐ„ ๋‚ด์—์„œ ์˜ค๋ฅธ์ชฝ ์ •๋ ฌ
# ^ : ์ง€์ •๋œ ๊ณต๊ฐ„ ๋‚ด์—์„œ ๊ฐ€์šด๋ฐ ์ •๋ ฌ

# 10d๋Š” 10์ž๋ฆฌ์˜ ํ•„๋“œ ํญ์„ ์˜๋ฏธ
print("10์ž๋ฆฌ ํญ ์™ผ ์ชฝ ์ •๋ ฌ '{:<10d}'".format(123))  
# 10์ž๋ฆฌ ํญ ์™ผ ์ชฝ ์ •๋ ฌ '123       '

print("10์ž๋ฆฌ ํญ ์˜ค๋ฅธ ์ชฝ ์ •๋ ฌ '{:>10d}'".format(123))  
# 10์ž๋ฆฌ ํญ ์˜ค๋ฅธ ์ชฝ ์ •๋ ฌ '       123'

print("10์ž๋ฆฌ ํญ ๊ฐ€์šด๋ฐ ์ •๋ ฌ '{:^10d}'".format(123))  
# 10์ž๋ฆฌ ํญ ๊ฐ€์šด๋ฐ ์ •๋ ฌ '   123    '
print()

# ์ฑ„์›€๋ฌธ์ž๋ฅผ ์ง€์ •ํ•˜๋ฉด ๊ณต๋ฐฑ ๋Œ€์‹  ์ฑ„์›€๋ฌธ์ž๊ฐ€ ๋นˆ์ž๋ฆฌ๋ฅผ ์ฑ„์›€
print("10์ž๋ฆฌ ํญ ์™ผ ์ชฝ ์ •๋ ฌ ์ฑ„์›€๋ฌธ์ž '{:*<10d}'".format(123))  
# 10์ž๋ฆฌ ํญ ์™ผ ์ชฝ ์ •๋ ฌ ์ฑ„์›€๋ฌธ์ž '123*******'
print("10์ž๋ฆฌ ํญ ์˜ค๋ฅธ ์ชฝ ์ •๋ ฌ ์ฑ„์›€๋ฌธ์ž '{:*>10d}'".format(123))  
# 10์ž๋ฆฌ ํญ ์˜ค๋ฅธ ์ชฝ ์ •๋ ฌ ์ฑ„์›€๋ฌธ์ž '*******123'
print("10์ž๋ฆฌ ํญ ๊ฐ€์šด๋ฐ ์ชฝ ์ •๋ ฌ ์ฑ„์›€๋ฌธ์ž '{:*^10d}'".format(123))  
# 10์ž๋ฆฌ ํญ ๊ฐ€์šด๋ฐ ์ชฝ ์ •๋ ฌ ์ฑ„์›€๋ฌธ์ž '***123****'

 

 


 

# ์กฐํ•ฉํ•˜๊ธฐ
num_a = "{:+5d}".format(33)  # ๊ธฐํ˜ธ๋ฅผ ๋’ค๋กœ ๋ฐ€๊ธฐ: ์–‘์ˆ˜
num_b = "{:+5d}".format(-33) # ๊ธฐํ˜ธ๋ฅผ ๋’ค๋กœ ๋ฐ€๊ธฐ: ์Œ์ˆ˜
num_c = "{:=+5d}".format(33) # ๊ธฐํ˜ธ๋ฅผ ์•ž์œผ๋กœ ๋ฐ€๊ธฐ: ์–‘์ˆ˜
num_d = "{:=+5d}".format(-33) # ๊ธฐํ˜ธ๋ฅผ ์•ž์œผ๋กœ ๋ฐ€๊ธฐ: ์Œ์ˆ˜
num_e = "{:+05d}".format(33)  # 0์œผ๋กœ ์ฑ„์šฐ๊ธฐ: ์–‘์ˆ˜
num_f = "{:+05d}".format(-33) # 0์œผ๋กœ ์ฑ„์šฐ๊ธฐ: ์Œ์ˆ˜

print("# ์กฐํ•ฉํ•˜๊ธฐ")
print(num_a)
print(num_b)
print(num_c)
print(num_d)
print(num_e)
print(num_f)

 

 

 

๐Ÿ“Œ  ๊ธฐํ˜ธ์™€ ๊ณต๋ฐฑ์„ ์กฐํ•ฉํ•  ๋•Œ '=' ๊ธฐํ˜ธ๋ฅผ ์•ž์— ๋ถ™์ผ ์ˆ˜ ์žˆ๋‹ค.

        โžก๏ธ 5์นธ์˜ ๊ณต๊ฐ„์„ ์žก์•˜์„ ๋•Œ ๊ธฐํ˜ธ๋ฅผ ๋นˆ์นธ ์•ž์— ๋ถ™์ผ ๊ฒƒ์ธ์ง€, ์ˆซ์ž ์•ž์— ๋ถ™์ผ ๊ฒƒ์ธ์ง€ ์ง€์ •

 

 

 

 

 

 

 


# ๋ถ€๋™ ์†Œ์ˆ˜์  ์ถœ๋ ฅ์˜ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ
num_a = "{:f}".format(12.345)
num_b = "{:15f}".format(12.345)   # 15์นธ ๋งŒ๋“ค๊ธฐ
num_c = "{:+15f}".format(12.345)  # 15์นธ์— ๋ถ€ํ˜ธ ์ถ”๊ฐ€ํ•˜๊ธฐ
num_d = "{:+015f}".format(12.345) # 15์นธ์— ๋ถ€ํ˜ธ ์ถ”๊ฐ€ํ•˜๊ณ  0์œผ๋กœ ์ฑ„์šฐ๊ธฐ

print(num_a)
print(num_b)
print(num_c)
print(num_d)

 

์‹คํ–‰ ๊ฒฐ๊ณผ

 

# ์†Œ์ˆ˜์  ์•„๋ž˜ ์ž๋ฆฟ์ˆ˜ ์ง€์ •ํ•˜๊ธฐ
num_a = "{:15.3f}".format(12.345)
num_b = "{:15.2f}".format(12.345)
num_c = "{:15.1f}".format(12.345)

print(num_a)
print(num_b)
print(num_c)

์‹คํ–‰ ๊ฒฐ๊ณผ

 

๐Ÿ“Œ  15์นธ์„ ์žก๊ณ  ์†Œ์ˆ˜์ ์„ ๊ฐ๊ฐ 3์ž๋ฆฌ, 2์ž๋ฆฌ, 1์ž๋ฆฌ๋กœ ์ถœ๋ ฅ

        โžก๏ธ  ์ž๋™์œผ๋กœ ๋ฐ˜์˜ฌ๋ฆผ๋„ ์ผ์–ด๋‚จ

 

 

 


# ์˜๋ฏธ์—†๋Š” ์†Œ์ˆ˜์  ์ œ๊ฑฐ
num_a = 33.0
num_b = "{:g}".format(num_a)

print(num_a)
print(num_b)

์‹คํ–‰ ๊ฒฐ๊ณผ

 


3. f-๋ฌธ์ž์—ด

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป  formatted strings ; ํŒŒ์ด์ฌ 3.6์ดํ›„ ๋ฒ„์ „์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป  ๋ฌธ์ž์—ด ์•ž์— 'f'๋ฅผ ๋ถ™์—ฌ์„œ ๋งŒ๋“œ๋Š”๋ฐ, ๋ฌธ์ž์—ด ๋‚ด๋ถ€์— ํ‘œํ˜„์‹์„ {} ๊ด„ํ˜ธ๋กœ ๊ฐ์‹ธ์„œ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

f'๋ฌธ์ž์—ด{ํ‘œํ˜„์‹}๋ฌธ์ž์—ด'

 

who = 'you'
how = 'happy'
print(f'{who} make me {how}') # you make me happy / ๋ฌธ์ž์—ด์— f ๋˜๋Š” F๋ผ๋Š” ์ ‘๋‘์–ด prefix๋ฅผ ๋ถ™์ž„

age = 25
print(f'๋‚ด๋…„์—” {age + 1}์‚ด์ด ๋ฉ๋‹ˆ๋‹ค.')  # ๋‚ด๋…„์—” 26์‚ด์ด ๋ฉ๋‹ˆ๋‹ค.

 

  ๐Ÿ“Œ  format() ํ•จ์ˆ˜๋ณด๋‹ค ๊ฐ„๋‹จํ•˜๊ณ  ์ง๊ด€์ ์ด๋ผ ๋Œ€๋ถ€๋ถ„ f-๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ํŽธ

 

 

๐Ÿ’ก format() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์€ ๊ฒฝ์šฐ

 

   a)  ๋ฌธ์ž์—ด ๋‚ด์šฉ์ด ๋„ˆ๋ฌด ๋งŽ์„ ๋•Œ

      - f-๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋ฌธ์ž์—ด์„ ๋ชจ๋‘ ์ฝ์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

   b)  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฆฌ์ŠคํŠธ์— ๋‹ด์•„์„œ ์‚ฌ์šฉํ•  ๋•Œ

     - ๋ฆฌ์ŠคํŠธ๋ฅผ f-๋ฌธ์ž์—ด๋กœ ํ˜•์‹ํ™”ํ•ด์„œ ์ถœ๋ ฅํ•˜๋ ค๋ฉด [] ๊ธฐํ˜ธ๋กœ ์ผ์ผ์ด ๋ฆฌ์ŠคํŠธ ์š”์†Œ์— ์ ‘๊ทผํ•ด์•ผ ํ•˜์ง€๋งŒ,

        format() ํ•จ์ˆ˜์™€ ์ „๊ฐœ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ์ž…๋ ฅํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ ์š”์†Œ๋ฅผ ํ•œ๊บผ๋ฒˆ์— ์ถœ๋ ฅ ๊ฐ€๋Šฅ

 

data = ['๋ณ„', 2, 'M', '์„œ์šธํŠน๋ณ„์‹œ ๊ฐ•์„œ๊ตฌ', 'Y']
f"""์ด๋ฆ„: {data[0]}
๋‚˜์ด: {data[1]}
์„ฑ๋ณ„: {data[2]}
์ง€์—ญ: {data[3]}
์ค‘์„ฑํ™” ์—ฌ๋ถ€: {data[4]}"""

"""์ด๋ฆ„: {}
๋‚˜์ด: {}
์„ฑ๋ณ„: {}
์ง€์—ญ: {}
์ค‘์„ฑํ™” ์—ฌ๋ถ€: {}""".format(*data)

'''
์‹คํ–‰๊ฒฐ๊ณผ)
์ด๋ฆ„: ๋ณ„
๋‚˜์ด: 2
์„ฑ๋ณ„: M
์ง€์—ญ: ์„œ์šธํŠน๋ณ„์‹œ ๊ฐ•์„œ๊ตฌ
์ค‘์„ฑํ™” ์—ฌ๋ถ€: Y
'''

 


4. ๋ฌธ์ž์—ด์˜ ๊ตฌ์„ฑ ํŒŒ์•…ํ•˜๊ธฐ: isOO()

 

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป  ๋ฌธ์ž์—ด์ด ์†Œ๋ฌธ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€, ์•ŒํŒŒ๋ฒณ์œผ๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€, ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ๋“ฑ์„ ํ™•์ธํ•  ๋•Œ ์‚ฌ์šฉ

isalnum() ๋ฌธ์ž์—ด์ด ์•ŒํŒŒ๋ฒณ ๋˜๋Š” ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ
isalpha() ๋ฌธ์ž์—ด์ด ์•ŒํŒŒ๋ฒณ์œผ๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ
isidentifier() ๋ฌธ์ž์—ด์ด ์‹๋ณ„์ž๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธ
isdecimal() ๋ฌธ์ž์—ด์ด ์ •์ˆ˜ ํ˜•ํƒœ์ธ์ง€ ํ™•์ธ
isdigit() ๋ฌธ์ž์—ด์ด ์ˆซ์ž๋กœ ์ธ์‹๋  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ธ์ง€ ํ™•์ธ
isspace() ๋ฌธ์ž์—ด์ด ๊ณต๋ฐฑ์œผ๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ
islower() ๋ฌธ์ž์—ด์ด ์†Œ๋ฌธ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ
isupper() ๋ฌธ์ž์—ด์ด ๋Œ€๋ฌธ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ

 

print("Python1".isalnum())
# ์‹คํ–‰๊ฒฐ๊ณผ) True

print("33".isdigit())
# ์‹คํ–‰๊ฒฐ๊ณผ) True

 

 

 


 

5.  ๋ฌธ์ž์—ด๊ณผ 'in ์—ฐ์‚ฐ์ž'

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป  ๋ฌธ์ž์—ด ๋‚ด๋ถ€์— ์–ด๋–ค ๋ฌธ์ž์—ด์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ๋•Œ 'in ์—ฐ์‚ฐ์ž' ์‚ฌ์šฉ

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป  ๋ฆฌํ„ด ๊ฐ’์€ boolean ํ˜• (True / False)

 

print("์˜ํฌ" in "๋‚ด ์ด๋ฆ„์€ ์˜ํฌ์ž…๋‹ˆ๋‹ค.")  # True
print("์•ˆ๋…•" in "๋‚ด ์ด๋ฆ„์€ ์˜ํฌ์ž…๋‹ˆ๋‹ค.")  # False

 

 

 

 

 

[ ๋‚ด์šฉ ์ฐธ๊ณ  : ์ฑ… 'ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋Š” ํŒŒ์ด์ฌ' ๋ฐ IT ํ•™์› ๊ฐ•์˜ ์ž๋ฃŒ ]

+ Recent posts