ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

์•ˆ๋…•ํ•˜์„ธ์š”?

๋„ˆ๊ตฌ๋ฆฌ์ž…๋‹ˆ๋‹ค~~

 

์˜ค๋Š˜์€ ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ๊ฐ€๋” ๋ดค์„๋ฒ•ํ•œ swift์˜ ๊ณ ์ฐจํ•จ์ˆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณผ๊นŒ ํ•ฉ๋‹ˆ๋‹ค!

๋งํ•ด ๋ญํ•ด!

๋ฐ”๋กœ ์•Œ์•„๋ณผ๊ฒŒ์š”!

 

 

๊ณ ์ฐจํ•จ์ˆ˜๋Š” ๋ญ˜๊นŒ?


Swift์—์„œ ํ•จ์ˆ˜๋Š” ๊ธฐ๋ณธ๋‚ด์šฉ์ธ๋ฐ์š”

๊ทธ๋Ÿผ ๊ณ ์ฐจํ•จ์ˆ˜๋Š” ๋ญ˜๊นŒ์š”?

 

๊ณ ์ฐจํ•จ์ˆ˜๋Š” ๋ฐ”๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ•จ์ˆ˜๋ฅผ ๊ฐ–๊ฑฐ๋‚˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค!

ํ•จ์ˆ˜๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๊ฐ–๋Š”๋‹ค๋ผ....

์ด ๋‚ด์šฉ์€ ์•„๋ž˜์—์„œ ๋Œ€ํ‘œ์  ๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์ด์•ผ๊ธฐํ•  ๋•Œ ๊ฐ™์ด ์„ค๋ช…ํ• ๊ฒŒ์š”~~

 

 

 

๐ŸŽพ Map(๋งต)


map์€ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ํ• ๊นŒ์š”?

์ผ๋‹จ ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฐพ์•„๋ณด๊ธฐ ์ „์— ์‚ฌ์ „์  ์ •์˜๋ฅผ ๋จผ์ € ์ฐพ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋งต(map) : (์ •๋ณดํ†ต์‹ )ํ•˜๋‚˜์˜ ๊ฐ’์„ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ, ํ•œ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์„ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์œผ๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๊ฒƒ

์ด๋Ÿฐ ๋‚ด์šฉ์ด ์žˆ๋„ค์š”!

 

๊ทธ๋Ÿผ ๊ณต์‹๋ฌธ์„œ์—๋Š” ์–ด๋–ค ๋‚ด์šฉ์ด ์žˆ๋Š”์ง€ ์ฐพ์•„๋ณด๋ฉด~~

์ด๋ ‡๊ฒŒ ๋‚˜์˜ค๋„ค์š”!

 

์ •์˜๋ฅผ ์ž์„ธํžˆ ๋ณด๋ฉด

(Self.Element) throw -> T

์ด ํ˜•์‹ ์–ด๋””์„œ ๋ณด์ง€ ์•Š์•˜๋‚˜์š”?

๋„ค!!! ๋ฐ”๋กœ ํด๋กœ์ €, ์ฆ‰ ์ต๋ช…ํ•จ์ˆ˜์ด์ฃ ?

๊ทธ๋ฆฌ๊ณ  ์ต์ˆ™ํ•œ Element!!!

์ด๊ฑด ๋ฐ”๋กœ Sequence, Collection ํ”„๋กœํ† ์ฝœ์„ ๋”ฐ๋ฅด๋Š”๊ฒƒ์—์„œ ์‚ฌ์šฉ๋˜์—ˆ์–ด์š”!!

์ €ํฌ ์ปฌ๋ ‰์…˜ํƒ€์ž… ๋ฐฐ์šธ๋•Œ ๊ฐ™์ด ํ™•์ธํ–ˆ์—ˆ์ฃ ?ใ…Žใ…Žใ…Ž

 

 

์šฐ๋ฆฌ๊ฐ€ ์•„๊นŒ ๊ณ ์ฐจํ•จ์ˆ˜ ์ •์˜์—์„œ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ๋˜์–ด ์žˆ์—ˆ๋Š”๋ฐ

ํด๋กœ์ €ํ˜•ํƒœ๋กœ ๋„ฃ์—ˆ๋„ค์š”!!

 

์ด์–ด์„œ map์˜ ๊ธฐ๋Šฅ์„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•ด๋ณด๋ฉด

์ž์‹ ์˜ element๋ฅผ ํด๋กœ์ €์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•ด์„œ ์–ด๋–ค ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ›„์— ๋ฐฐ์—ด์— ๋‹ด์•„์„œ ๋ฆฌํ„ดํ•œ๋‹ค.

์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฆฌํ„ดํ•ด์„œ ์›๋ž˜์˜ ๋ฐ์ดํ„ฐ๋Š” ๋ณ€ํ•จ์—†๋‹ค.

๊ทธ๋ฆฌ๊ณ  Sequence, Collection ํ”„๋กœํ† ์ฝœ์„ ๋”ฐ๋ฅด๋Š”๊ฒƒ์—์„œ ์‚ฌ์šฉํ•œ๋‹ค.

 

๊ทธ๋Ÿผ ์ด์ œ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด์„œ ์ต์ˆ™ํ•ด์ ธ ๋ณผ๊ฒŒ์š”!!

์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด map์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ

String์ธ "neoguri"๋ฅผ element ํ•˜๋‚˜์”ฉ ๋‚˜๋ˆ„์–ด์„œ ๋‹ด์€ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์—ˆ๊ตฌ์š”

๊ธฐ์กด์˜ ๋ฐฐ์—ด์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๊ณ  ์žˆ๋„ค์š”!

 

์ž์„ธํžˆ ๋ณด๋‹ค ๋ณด๋‹ˆ ์ด๋Ÿฐ ํ˜•ํƒœ

for๊ตฌ๋ฌธ์œผ๋กœ๋„ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•˜๊ฒ ์ฃ ?

ํ•œ๋ฒˆ ๋น„๊ตํ•ด๋ณด๋„๋ก ํ• ๊ฒŒ์š”~

์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด  neoguriWithMap(map์‚ฌ์šฉ)๊ณผ charArr(for๋ฌธ ์‚ฌ์šฉ)๊ฐ€ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ง€์ง€๋งŒ

map์„ ์‚ฌ์šฉํ•˜๋ฉด ๋” ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์–ด์š”!!

๊ทธ๋ฆฌ๊ณ  ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์ธก๋ฉด์ด๋‚˜ ์ปดํŒŒ์ผ๋Ÿฌ ์ตœ์ ํ™” ์ธก๋ฉด์—์„œ๋„ ์„ฑ๋Šฅ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜๋„ค์š”!!

 

 

 

๐ŸŽพ Filter(ํ•„ํ„ฐ)


์ž ์ด์–ด์„œ ํ•„ํ„ฐ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ• ๊ฒŒ์š”~

ํ•„ํ„ฐ๋Š” ๋”ฐ๋กœ ์‚ฌ์ „์ •์˜๋ฅผ ์ฐพ์•„๋ณด์ง€ ์•Š์•„๋„ ๋‹ค ์•Œ๊ณ  ๊ณ„์‹œ๋Š” ์šฉ์–ด์ฃ ?

๋ฐ”๋กœ ์–ด๋–ค๊ฒƒ์„ ๊ฑธ๋Ÿฌ๋‚ด๋Š” ์—ญํ• !! ๋ฐ”๋กœ ๊ทธ ์—ญํ• ์„ ํ•˜๋Š” ์นœ๊ตฌ์ž…๋‹ˆ๋‹ค~~

 

๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฐพ์•„๋ณด๋ฉด~~

swift ๊ณต์‹๋ฌธ์„œ - filter

isIncluded์—์„œ ์šฐ๋ฆฌ๊ฐ€ ํ•„ํ„ฐ๋ง ํ•˜๊ณ ์‹ถ์€ ์กฐ๊ฑด(Boolํƒ€์ž…)์„ ๋งŒ์กฑํ•˜๋Š” element๋ฅผ

๋ฐฐ์—ด์— ๋‹ด์•„ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋ผ๊ณ  ์ ํ˜€์žˆ์Šต๋‹ˆ๋‹ค!

 

๋งŽ์ด ์–ด๋ ต์ง€ ์•Š์œผ๋‹ˆ๊นŒ ๋ฐ”๋กœ ์ฝ”๋“œ๋กœ ํ™•์ธํ•ด๋ณด๋„๋ก ํ• ๊ฒŒ์š”~~

1๋ถ€ํ„ฐ 8๊นŒ์ง€ ์žˆ๋Š” ์ •์ˆ˜ ๋ฆฌ์ŠคํŠธ(numberList)์—์„œ ์ง์ˆ˜๋งŒ์„ ๊ฐ€์ง€๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ

filter๋ฅผ ํ†ตํ•ด์„œ ๊ตฌํ˜„ํ•ด๋ดค์–ด์š”!

์ด๋ฒˆ์—๋Š” ํด๋กœ์ €์—์„œ ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ํƒ€์ž…์„ ์ƒ๋žตํ–ˆ์–ด์šฉ~

filter๋ธ”๋Ÿญ์— Boolํƒ€์ž…์ด ๋˜๋Š” ์กฐ๊ฑด์„ ์ฃผ๋ฉด ๊ทธ ์กฐ๊ฑด์— ๋งž๋Š” element๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด์ด

์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค~

์‰ฝ์ฃ ?ใ…Žใ…Ž

 

 

 

๐ŸŽพ Reduce(๋ฆฌ๋“€์Šค)


์ž!! ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฆฌ๋“€์Šค์ž…๋‹ˆ๋‹ค!!

๋ฆฌ๋“€์Šค๋ฅผ ์‚ฌ์ „์— ๊ฒ€์ƒ‰ํ•ด๋ณด๋ฉด ์ด๋Ÿฐ ๋‚ด์šฉ๋“ค์ด ๋‚˜์˜ค๋Š”๋ฐ์š”~

reduce(๋ฆฌ๋“€์Šค) :
1.์ค„์ด๋‹ค; ๋‚ฎ์ถ”๋‹ค
2.์ค„์ด๋‹ค; ์ค„์–ด๋“ค๋‹ค
3.์ฒด์ค‘์„ ์ค„์ด๋‹ค

์Œ....๋ญ˜ ์ค„์ด๋Š”๊ฑธ๊นŒ์š”...?

์ผ๋‹จ ์ž˜ ๋ชจ๋ฅด๊ฒ ์œผ๋‹ˆ๊นŒ

๊ณต์‹๋ฌธ์„œ๋ฅผ ์‚ดํŽด๋ณผ๊ฒŒ์š”~~

 

๋ฆฌ๋“€์Šค๋ฅผ ๊ฒ€์ƒ‰ํ•ด๋ณด๋ฉด ๊ฒฐ๊ณผ๊ฐ€ 2๊ฐœ๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ 

์ฐจ๋ก€๋Œ€๋กœ ์•Œ์•„๋ณผ๊ฒŒ์š”!!

 

์ž ์ฒซ๋ฒˆ์งธ ๋ฆฌ๋“€์Šค ์ •์˜์ž…๋‹ˆ๋‹ค!

๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด๋ณด๋ฉด ์ดˆ๊ธฐ๊ฐ’์ธ Result์™€ element๋ฅผ ๋งค๊ฒจ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•˜๋Š” ํด๋กœ์ €์—์„œ 

Result๊ฐ’์„ element๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋š๋”ฑ๋š๋”ฑ ๊ฐ€๊ณตํ•œ ๋‹ค์Œ ์ตœ์ข…์ ์ธ ๊ฐ’ Result๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋„ค์š”~~

 

๊ทธ๋Ÿผ ๋‘๋ฒˆ์งธ reduce์˜ ์ •์˜๋„ ์‚ดํŽด๋ณผ๊ฒŒ์š”!!

์ฒซ๋ฒˆ์งธ ๋ฆฌ๋“€์Šค์™€ ์ •์˜๊ฐ€ ์•ฝ๊ฐ„ ๋‹ค๋ฅธ๋ฐ์š”!!

๋ฐ”๋กœ ํด๋กœ์ €์—์„œ  inout์„ Result์— ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด์š”!!

์ด๊ฒŒ ๋ฌด์Šจ๋ง์ด๋ƒ

๋ฐ”๋กœ result๊ฐ’์„ ๋‚ด๋ถ€์—์„œ return ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ updateํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค!

 

๋งค๊ฐœ๋ณ€์ˆ˜ ์ด๋ฆ„์„๋ณด๋ฉด ๋” ํ™•์‹คํžˆ ํ•  ์ˆ˜ ์žˆ์ฃ !

์ฒซ๋ฒˆ์งธ ๋ฆฌ๋“€์Šค ๋ฉ”์†Œ๋“œ๋Š” nextPartialResult๋กœ ์ •์˜๋˜์–ด์žˆ๊ณ  Result๊ฐ’์„ ๊ณ„์† ๋ฆฌํ„ดํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๋ง์ด๊ตฌ์š”!

๋‘๋ฒˆ์งธ ๋ฆฌ๋“€์Šค ๋ฉ”์†Œ๋“œ๋Š” updateAccumulatingResult๋กœ ์ •์˜๋˜์–ด ์žˆ๊ณ  Result๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค!!

 

์ดํ•ด ๊ฐ€์‹œ๋‚˜์š”?

์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ๋” ์‰ฝ๊ฒŒ ์ดํ•ด๋ฅผ ํ•˜์‹ค ์ˆ˜ ์žˆ์„ ๊ฑฐ์—์š”!

์˜ˆ์ œ๋‚ด์šฉ์€ ์ •์ˆ˜ ๋ฐฐ์—ด์˜ ์›์†Œ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์„ ๊ตฌํ˜„ํ•œ๊ฑฐ์—์š”!!

 

์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ์ดˆ๊ธฐ๊ฐ’์€ 0์ด๊ณ  ์ด๊ณณ์— ๊ฐ ์›์†Œ๋ฅผ ๋”ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค!!

๊ทผ๋ฐ ์ฒซ๋ฒˆ์งธ ๋ฉ”์†Œ๋“œ์™€ ๋‘๋ฒˆ์งธ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด

๋ชจ๋‘ ์ดˆ๊ธฐ๊ฐ’์— next(element)๋ฅผ ๋”ํ–ˆ๋Š”๋ฐ

๋‘๋ฒˆ์งธ ๋ฉ”์†Œ๋“œ์—์„œ ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š”๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”!!

 

์™œ๊ทธ๋Ÿด๊นŒ์š”?

๋‘๋ฒˆ์งธ ๋ฉ”์†Œ๋“œ์—์„œ๋Š” result๊ฐ€ ์—…๋ฐ์ดํŠธ ๋œ๋‹ค๊ณ  ํ–ˆ์ฃ ?

๊ทธ๋ž˜์„œ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ +๋ฅผ +=๋กœ ๋ฐ”๊พธ์–ด ์ค€๋‹ค๋ฉด??

์—๋Ÿฌ๊ฐ€ ์‚ฌ๋ผ์ง€๊ณ  ๋ฐฐ์—ด์›์†Œ์˜ ํ•ฉ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์–ด์š”!!!

 

์ด๋ ‡๊ฒŒ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ๋ญ๊ฐ€ ์ข‹์„๊นŒ์š”?

๋ฐ”๋กœ ์ฒซ๋ฒˆ์งธ ๋ฉ”์†Œ๋“œ์™€ ๋‹ฌ๋ฆฌ ์ดˆ๊ธฐ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์–ด ํšจ์œจ์ด ์ข‹๋‹ค๋Š”๊ฒ๋‹ˆ๋‹ค!!

์ฒซ๋ฒˆ์งธ ๋ฉ”์†Œ๋“œ๋Š” ์ดˆ๊ธฐ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋Š”๋ฐ

๋‘๋ฒˆ์งธ ๋ฉ”์†Œ๋“œ๋Š” ์ดˆ๊ธฐ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•˜๋‹ˆ๊นŒ ์ดˆ๊ธฐ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์–ด์š”!!

 

 

๐ŸŽพ ๋ฒˆ์™ธ - reduce(๋ฆฌ๋“€์Šค)๋Š” ์™œ ์ด๋ฆ„์ด reduce์ผ๊นŒ?


์•„๊นŒ ์‚ฌ์ „์—์„œ reduce์˜ ๋œป์€ ์ค„์ด๋‹ค, ๊ฐ์†Œ์‹œํ‚ค๋‹ค๋ผ๋Š” ๋œป์ด์˜€์ž–์•„์š”?

๊ทธ๋Ÿฐ๋ฐ ๊ธฐ๋Šฅ์„ ๋ณด๋ฉด ์–ด๋–ค๊ฒƒ์„ ์ค„์ธ๋‹ค๋Š” ๋А๋‚Œ๋ณด๋‹ค ํ•ฉ์น˜๋Š” ๋А๋‚Œ์ด ์žˆ๋Š”๋ฐ

์™œ ์ด๋ฆ„์„ reduce๋ผ๊ณ  ์ง€์—ˆ์„๊นŒ?

 

ํ˜ผ์ž ์ด๋Ÿฐ๊ณ ๋ฏผ์„ ํ•˜๊ณ  ์žˆ์„๋•Œ ๊ณต์‹๋ฌธ์„œ์ด ์ด๋Ÿฐ ์„ค๋ช…์ด ์žˆ๋”๋ผ๊ตฌ์š”

์ „์ฒด ์‹œํ€€์Šค๋ฅผ ํ•˜๋‚˜์˜ ๊ฐ’์œผ๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ์„๋•Œ reduce๋ฅผ ์‚ฌ์šฉํ•˜๋ผ๋Š” ์„ค๋ช…์ธ๋ฐ์š”!

์ฆ‰, ์—ฌ๋Ÿฌ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์˜ ๊ฐ’์œผ๋กœ ์ค„์ด๋Š” ๊ณผ์ •์ด๊ธฐ๋•Œ๋ฌธ์— reduce๋กœ ์ด๋ฆ„์„ ์ง€์€๊ฒƒ ๊ฐ™์•„์š”!

(์ถ”์ธก ์™„๋ฃŒใ…‹ใ…‹ใ…‹ใ…‹)

 

 

 

 

์˜ค๋Š˜ ๊ณ ์ฐจํ•จ์ˆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ดค๋Š”๋ฐ์š”!!

์ž˜ ์“ฐ๋ฉด ๊น”๋”ํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์„๊ฒƒ๊ฐ™์•„์š”!

์˜ค๋Š˜๋„ ๊ธ€ ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์•ˆ๋…•~

 

 

 

 

 

 

 

 

 

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2026/03   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ