210630_๊ต์œก3์ผ์ฐจ(D+5)

์˜ค๋ฅด๋ฏธยท2021๋…„ 6์›” 30์ผ
1

AIFFEL์–‘์žฌ

๋ชฉ๋ก ๋ณด๊ธฐ
3/8
post-custom-banner

๐Ÿ”’ ์˜ค๋Š˜์˜ ๋‹ด์ž„์„ ์ƒ๋‹˜์˜ ๋ฏธ์…˜:

1. ์„ ํ˜•ํšŒ๊ท€๋ž€ ๋ฌด์—‡์ผ๊นŒ?

2. ์—ฌ๊ธฐ์„œ ์„ ํ˜•์€ ๋ฌด์—‡์„ ์˜๋ฏธํ• ๊นŒ?

3. ์šฐ๋ฆฌ๋Š” ์™œ ๋”ฅ๋Ÿฌ๋‹์—์„œ ์„ ํ˜•ํšŒ๊ท€๋ฅผ ๋ฐฐ์šธ๊นŒ?

4. ์„ ํ˜• ํšŒ๊ท€๋กœ ์–ด๋–ค ๋ฐ์ดํ„ฐ ๋˜๋Š” ์ฃผ์ œ์— ๋Œ€ํ•œ ๋ชจ๋ธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„๊นŒ?

์ฐธ๊ณ ๋งํฌ

$ ๋ฌธ๋‹ตํ•˜๊ธฐ ์ˆœ์„œ

  1. ์งˆ๋ฌธ์— ๋Œ€ํ•œ ์ด์œ ์™€ ๋งฅ๋ฝ ์•Œ๊ธฐ(why์งˆ๋ฌธ)
  2. ๋„ˆ๋ฌด ํฐ ์งˆ๋ฌธ์€ ์ž˜๊ฒŒ ์ชผ๊ฐœ๊ธฐ
  3. ๋ชจํ˜ธํ•œ ์งˆ๋ฌธ์€ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•˜๊ธฐ(What ์ •์˜ ์งˆ๋ฌธ)
  4. ์งˆ๋ฌธํ•˜๋Š” ๊ฒƒ์— ๋ถ€๋„๋Ÿฌ์›Œํ•˜์ง€์•Š๊ธฐ

AIFFEL ๋…ธ๋“œ์Šคํ„ฐ๋””

์˜ค๋Š˜ ์ •๋ฆฌ๋Š” ๋‚ด์ผ๋กœใ… ใ…  ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ ํ• ๊ฒŒ ๋งŽ์Œ.ใ… ใ… 

ํ’€์žŽ์Šค์ฟจ

unit 22 ๋ฆฌ์ŠคํŠธ ์‘์šฉ

  1. ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” method(๊ฐ์ฒด์— ์†ํ•œ ํ•จ์ˆ˜๋ฅผ ๋œปํ•จ)
    1.1 append : ๋ฆฌ์ŠคํŠธ๋์— ์š”์†Œํ•˜๋‚˜์ถ”๊ฐ€

    1.2 extend: ๋ฆฌ์ŠคํŠธ ๋์— ๋‹ค๋ฅธ ๋ฆฌ์ŠคํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™•์žฅํ•จ

    1.3 insert(์ธ๋ฑ์Šค, ์š”์†Œ): ๋ฆฌ์ŠคํŠธ์˜ ํŠน์ • ์ธ๋ฑ์Šค์— ์š”์†Œํ•˜๋‚˜๋ฅผ ์ถ”๊ฐ€ - ์ž์ฃผ์‚ฌ์šฉํ•˜๋Š” ํŒจํ„ด์€ :
    - insert(0, ์š”์†Œ) -> ๋ฆฌ์ŠคํŠธ์ฒ˜์Œ์— ์š”์†Œ ์ถ”๊ฐ€
    - insert(len(๋ฆฌ์ŠคํŠธ), ์š”์†Œ) -> ๋ฆฌ์ŠคํŠธ ๋์— ์š”์†Œ์ถ”๊ฐ€

    1.4 ๋ฆฌ์ŠคํŠธ๋กœ ์Šคํƒ๊ณผ ํ ๋งŒ๋“ค๊ธฐ๋Š” ์ถ”ํ›„ ์กฐ๊ธˆ๋” ๋ฐฐ์šฐ๋ฉด ๋‚˜์˜ค๋Š”๊ฑฐ๋‹ˆ ์œ„์น˜๋งŒ ์•Œ๊ณ ์žˆ์ž.

  2. ๋ฆฌ์ŠคํŠธ์—์„œ ์š”์†Œ ์‚ญ์ œํ•˜๊ธฐ
    2.1 pop() : ๋ฆฌ์ŠคํŠธ์˜ ๋งˆ์ง€๋ง‰, ํ˜น์€ ํŠน์ •์ธ๋ฑ์Šค ์š”์†Œ ์‚ญ์ œ( del)
    2.2 remove() : ํŠน์ • ๊ฐ’์„ ์ฐพ์•„์„œ ์‚ญ์ œ

  3. ๋ฆฌ์ŠคํŠธ์—์„œ ํŠน์ • ๊ฐ’ ๊ตฌํ•˜๊ธฐ
    3.1 index(๊ฐ’): ๋ฆฌ์ŠคํŠธ์—์„œ ํŠน์ •๊ฐ’์˜ ์ธ๋ฑ์Šค๋ฅผ ๊ตฌํ•œ๋‹ค. ๊ฐ™์€ ๊ฐ’์ด ์—ฌ๋Ÿฌ๊ฐœ์ผ๊ฒฝ์šฐ ์ฒ˜์Œ ์ฐพ์€ ์ธ๋ฑ์Šค๋ฅผ ๊ตฌํ•จ
    3.2 count(๊ฐ’) : ๋ฆฌ์ŠคํŠธ์—์„œ ํŠน์ • ๊ฐ’์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•จ

  4. ๋ฆฌ์ŠคํŠธ ์ˆœ์„œ ๋’ค์ง‘๊ธฐ
    4.1 reverse() : ๋ฆฌ์ŠคํŠธ์—์„œ ์š”์†Œ์˜ ์ˆœ์„œ๋ฅผ ๋ฐ˜๋Œ€๋กœ ๋’ค์ง‘์Œ

  5. ๋ฆฌ์ŠคํŠธ ์š”์†Œ ์ •๋ ฌ
    5.1 sort() ๋˜๋Š” sort(reverse=false): ๋ฆฌ์ŠคํŠธ ์š”์†Œ๋ฅผ ์ž‘์€ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ(์˜ค๋ฆ„์ฐจ์ˆœ)
    5.2 sort(reverse=True) : ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ’์„ ํฐ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ(๋‚ด๋ฆผ์ฐจ์ˆœ)

  6. sort ๋ฉ”์„œ๋“œ์™€ sorted ํ•จ์ˆ˜
    ๋‚ด์žฅ ํ•จ์ˆ˜ sorted๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    sort์™€ sorted ๋ชจ๋‘ ์ •๋ ฌ์„ ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜

  • sort๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณ€๊ฒฝ
  • sorted ํ•จ์ˆ˜๋Š” ์ •๋ ฌ๋œ ์ƒˆ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ƒ์„ฑ

    ๐Ÿ”ผ์ด๋ฏธ์ง€ ์ถœ์ฒ˜: https://blog.naver.com/wideeyed/221745416992
  1. ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋ฆฌ์ŠคํŠธ ์š”์†Œ ๋ชจ๋‘ ์ถœ๋ ฅํ•˜๊ธฐ
    7.1 for ๋ฐ˜๋ณต๋ฌธ: in ๋’ค์— ๋ฆฌ์ŠคํŠธ ์ง€์ •ํ•˜๋ฉด๋จ

    7.2 ์ธ๋ฑ์Šค์™€ ์š”์†Œ๋ฅผ ํ•จ๊ป˜ ์ถœ๋ ฅํ•˜๊ธฐ
    for ์ธ๋ฑ์Šค, ์š”์†Œ in enumerate(๋ฆฌ์ŠคํŠธ):

    7.3 for ๋ฐ˜๋ณต๋ฌธ์—์„œ ์ธ๋ฑ์Šค๋กœ ์š”์†Œ๋ฅผ ์ถœ๋ ฅํ•˜๊ธฐ
    - for์— ๋ฆฌ์ŠคํŠธ๋ฅผ ์ง€์ •ํ•˜๋ฉด ์š”์†Œ๋ฅผ ๋ฐ”๋กœ ๊ฐ€์ ธ์™€์„œ ํŽธ๋ฆฌํ•œ๋ฐ, for์—์„œ ์ธ๋ฑ์Šค๋ฅผ ์ง€์ •ํ•˜์—ฌ ์š”์†Œ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜๋Š” ์—†์„๊นŒ์š”? ์ด๋•Œ๋Š” range์— len์œผ๋กœ ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด(์š”์†Œ ๊ฐœ์ˆ˜)๋ฅผ ๊ตฌํ•ด์„œ ๋„ฃ์–ด์ฃผ๋ฉด ์ธ๋ฑ์Šค๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ a[i]์™€ ๊ฐ™์ด ๋ฆฌ์ŠคํŠธ์— ์ธ๋ฑ์Šค๋ฅผ ์ง€์ •ํ•˜์—ฌ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ์ฆ‰, for i in range(len(a))๋ฅผ ์‹คํ–‰ํ•˜๋ฉด i์—๋Š” ์š”์†Œ๊ฐ€ ์•„๋‹Œ 0๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค๊นŒ์ง€ ์ธ๋ฑ์Šค๊ฐ€ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

  2. ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๊ฐ€์žฅ ์ž‘์€์ˆ˜์™€ ํฐ์ˆ˜ ๊ตฌํ•˜๊ธฐ

  • ๋จผ์ € ๋ฆฌ์ŠคํŠธ a์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ a[0]๋ฅผ ๋ณ€์ˆ˜ smallest์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  for๋กœ ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๋ฅผ ๋ชจ๋‘ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ i๊ฐ€ smallest๋ณด๋‹ค ์ž‘์œผ๋ฉด smallest์— i๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ˆซ์ž๋ฅผ ๊ณ„์† ๋น„๊ตํ•ด์„œ ์ˆซ์ž๊ฐ€ ์ž‘์œผ๋ฉด smallest๋ฅผ ๋ฐ”๊พธ๋Š” ๋ฐฉ์‹ ๊ฐ€์žฅํฐ์ˆ˜๋Š” largest์™€ i > largest ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด๋จ
    (์•„๋ž˜๋กœ ๊ฐˆ์ˆ˜๋ก ์ ์  ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์˜ ์ฝ”๋”ฉ)

  1. ๋ฆฌ์ŠคํŠธ ์ปดํ”„๋ฆฌํ—จ์…˜(list comprehension)
  • ๋ฆฌ์ŠคํŠธ ์•ˆ์— ์‹, for ๋ฐ˜๋ณต๋ฌธ, if ์กฐ๊ฑด๋ฌธ ๋“ฑ์„ ์ง€์ •ํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ(๋ฆฌ์ŠคํŠธ ๋‚ด์žฅ, ๋ฆฌ์ŠคํŠธ ์ถ•์•ฝ, ๋ฆฌ์ŠคํŠธ ํ•ด์„)
  • for ๋ณ€์ˆ˜ in ๋ฆฌ์ŠคํŠธ]-> ํŒŒ์ด์ฌ๋‹ค์šด ์ฝ”๋“œ
  • list(์‹ for ๋ณ€์ˆ˜ in ๋ฆฌ์ŠคํŠธ)

    ๋ฆฌ์ŠคํŠธ ์•ˆ์— ์‹, for, ๋ณ€์ˆ˜, in, ๋ฆฌ์ŠคํŠธ ์ˆœ์„œ๋กœ ๋“ค์–ด์žˆ์ง€๋งŒ ๋’ค์—์„œ ์•ž์œผ๋กœ ์ฝ์œผ๋ฉด ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, range(10)์œผ๋กœ 0๋ถ€ํ„ฐ 9๊นŒ์ง€ ์ƒ์„ฑํ•˜์—ฌ ๋ณ€์ˆ˜ i์— ์ˆซ์ž๋ฅผ ๊บผ๋‚ด๊ณ , ์ตœ์ข…์ ์œผ๋กœ i๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ ๋‹ค

    ๐Ÿ”ผ์ด๋ฏธ์ง€ ์ถœ์ฒ˜:https://dojang.io/mod/page/view.php?id=2285



๐Ÿ”ผ์ด๋ฏธ์ง€ ์ถœ์ฒ˜:https://dojang.io/mod/page/view.php?id=2285



์ฝ”๋”ฉํ…Œ์ŠคํŠธ์— ๋งŽ์ด๋‚˜์˜จ๋‹ค๊ณ  ํ•จ

- list์™€ ๊ด€๋ จ๋œ ์œ ์šฉํ•œ ๋ฉ”์†Œ๋“œ

- for ๋ฌธ enumerate ๋งŽ์ด ์”€.

- smallest

- sort min max sum

- ๋ฆฌ์ŠคํŠธ ์ปดํ”„๋ฆฌํ—จ์…˜(list comprehension)

Q.์‹ฌ์‚ฌ๋ฌธ์ œ 22.10

ํ‘œ์ค€ ์ž…๋ ฅ์œผ๋กœ ์ •์ˆ˜ ๋‘ ๊ฐœ๊ฐ€ ์ž…๋ ฅ๋ฉ๋‹ˆ๋‹ค(์ฒซ ๋ฒˆ์งธ ์ž…๋ ฅ ๊ฐ’์˜ ๋ฒ”์œ„๋Š” 1~20, ๋‘ ๋ฒˆ์งธ ์ž…๋ ฅ ๊ฐ’์˜ ๋ฒ”์œ„๋Š” 10~30์ด๋ฉฐ ์ฒซ ๋ฒˆ์งธ ์ž…๋ ฅ ๊ฐ’์€ ๋‘ ๋ฒˆ์งธ ์ž…๋ ฅ ๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ์ž‘์Šต๋‹ˆ๋‹ค). ์ฒซ ๋ฒˆ์งธ ์ •์ˆ˜๋ถ€ํ„ฐ ๋‘ ๋ฒˆ์งธ ์ •์ˆ˜๊นŒ์ง€๋ฅผ ์ง€์ˆ˜๋กœ ํ•˜๋Š” 2์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ์„ธ์š”(input์—์„œ ์•ˆ๋‚ด ๋ฌธ์ž์—ด์€ ์ถœ๋ ฅํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค). ๋‹จ, ๋ฆฌ์ŠคํŠธ์˜ ๋‘ ๋ฒˆ์งธ ์š”์†Œ์™€ ๋’ค์—์„œ ๋‘ ๋ฒˆ์งธ ์š”์†Œ๋Š” ์‚ญ์ œํ•œ ๋’ค ์ถœ๋ ฅํ•˜์„ธ์š”. ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

A. ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ• ๊ฒƒ์ธ๊ฐ€.

๋‘๊ฐœ๊ฐ€ ์ž…๋ ฅ๋œ๋‹ค,์ •์ˆ˜, : a, b = map(int, input().split())

์—ฌ๊ธฐ๊นŒ์ง€ ์ƒ๊ฐ์ด ์ง„ํ–‰๋˜์—ˆ์œผ๋‚˜ ์ดํ›„๋กœ๋Š” ์–ด๋ ค์›Œ์„œ..์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ์ง€ ๋„ˆ๋ฌด ๊ณ ๋ฏผ์ด ๋งŽ์•„์กŒ๋‹ค...ใ… ใ… 

๋ฆฌ๋งˆ์ธ๋“œ ํ•˜๋ฉด์„œ ์ƒ๊ฐ๋” ํ•ด๋ด„.

1~10 : range ์‚ฌ์šฉ.
์ฒซ๋ฒˆ์งธ ์ •์ˆ˜ ๋ถ€ํ„ฐ ๋‘๋ฒˆ์งธ ์ •์ˆ˜๊นŒ์ง€๋ฅผ ์ง€์ˆ˜๋กœ ํ•˜๋Š” 2์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ
a๋ฅผ 1 b๋ฅผ 10 ๋„ฃ์—ˆ์„๋•Œ 2์˜ 1์Šน , 2์˜ 2์Šน, ์ด ๋‚˜์™€์•ผ ํ•˜๋‹ˆ print ํ•  ์ตœ์ข…๊ฐ’ c๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ ....
๋ฆฌ์ŠคํŠธ์˜ ๋‘ ๋ฒˆ์งธ ์š”์†Œ์™€ ๋’ค์—์„œ ๋‘ ๋ฒˆ์งธ ์š”์†Œ๋Š” ์‚ญ์ œํ•œ ๋’ค ์ถœ๋ ฅ del ๋ฉ”์†Œ๋“œ ์ด์šฉ

์˜ค๋Š˜ ์˜ค๋ฅด๋ฏธ์˜ ์ƒ๊ฐ๐Ÿค” ๋ฐ ๋‹ค์ง๐Ÿ‘

๐Ÿค” ์ฒ˜์Œ๋ถ€ํ„ฐ ๋„ˆ๋ฌด ์š•์‹ฌ๋‚ด๋Š” ๊ฒƒ์ธ๊ฐ€ ์‹ถ๋‹ค๊ฐ€๋„ ์ด๊ฒƒ์ด ์ œ์ผ ๊ธฐ๋ณธ์ธ๊ฐ€ ์‹ถ๋‹ค๊ฐ€๋„.. ๋งก์€ ์—ญํ• ์ค‘์— ๋‚˜์˜ ๊ฟˆ์„ ์œ„ํ•œ ํˆฌ์ž๋ฅผ ์œ„ํ•ด์„œ ์ด์ •๋„๋Š” ํ•ด์•ผํ• ๊นŒ ์‹ถ์€ ์ƒ๊ฐ๋„ ๋“ ๋‹ค. 9์‹œ๋ฐ˜~ 5์‹œ๋ฐ˜ ๋งค์šฐ ์†Œ์ค‘ํ•œ ์‹œ๊ฐ„. ๊ทธ๋ฆฌ๊ณ  ์•„์ด๋“ค์ด ์ž ๋“  11์‹œ.. ํ•˜๋ฃจ์˜ ๊ณต๋ถ€๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ๋‹ค์ง๋„ ํ•ด๋ณธ๋‹ค.
์ž‘์‹ฌ์‚ผ์ผ์ด๋ผ๊ณ .. ์˜ค๋Š˜์ด ์‚ผ์ผ์งธ! ๋‚ด์ผ ํ• ๊นŒ ํ•˜๋Š” ๋งˆ์Œ ๋‚ด๋ ค๋†“๊ณ  ๋งฅ์ฃผํ•œ์บ”๋“ค๊ณ  ์ž๋ฆฌ์— ์•‰์•„ ์ •๋ฆฌํ•˜๋Š” ๋‚˜!!
์นญ์ฐฌํ•ด. ์นญ์ฐฌํ•ด. ๊ทธ๋Ÿฌ๋‚˜ ํ•œ๋ชจ๊ธˆ๋„ ๋ชป๋จน๊ณ .. 2์‹œ20๋ถ„๊นŒ์ง€..ใ…‡ใ…ใ…‡...๋„์ค‘์— ๋ถˆ๋ ค๊ฐ€๊ณ .ใ… 
๋ฏธ์…˜์ด๋ž‘ ๋…ธ๋“œ์Šคํ„ฐ๋””๋Š” ๋‚ด์ผ์ •๋ฆฌ.ใ… ใ… 

๐Ÿ‘ 1. ๋งŽ์€ ๊ธ€๊ณผ ์นœํ•ด์ง€๊ธฐ, ์˜์–ด์™€ ์นœํ•ด์ง€๊ธฐ
2. ๋งค์ผ ๋ฆฌ๋งˆ์ธ๋“œ ํ•˜๋Š”๊ฒƒ! ๋‹ค ํ• ๋ ค๊ณ  ์š•์‹ฌ๋‚ด์ง€๋ง๊ณ  ์ฐจ๊ทผํžˆ.
3. colab ์ฝ”๋“œ์ฐฝ ์—ด์–ด์„œ ์ฝ”๋”ฉ๋„์žฅ๊ฒƒ ์—ฐ์Šตํ•˜๊ธฐ( ์ƒˆ๋กœ์šด ์ฝ”๋“œ ์ถ”๊ฐ€์‹œ์—” ctrl+M+B
4. ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ด€๋ จ ๋‚ด๊ฐ€ ์ฐพ์€ ๊ฒƒ:https://covenant.tistory.com/220

profile
๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์–ด๊ฐ€๋Š” ์˜ค๋ฅด๋ฏธ์˜ ๊ธฐ๋ก
post-custom-banner

0๊ฐœ์˜ ๋Œ“๊ธ€