๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐Ÿ’ป๐Ÿ’ญ๐ŸŽง๐ŸŒ

ํŒŒ์ด์ฌ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ „ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„ ์ •๋ฆฌ ๋ณธ๋ฌธ

์•Œ๊ณ ๋ฆฌ์ฆ˜

ํŒŒ์ด์ฌ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ „ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„ ์ •๋ฆฌ

adorableco 2024. 3. 2. 12:23
๋ฐ˜์‘ํ˜•

1. ์‹œ๊ฐ„์ดˆ๊ณผ ๋œจ๋ฉด

๊ณ ๋ คํ•ด๋ณด๊ธฐ..

import sys
input=sys.stdin.readline

 

2. collections.Counter() ์—์„œ ์ตœ๋นˆ๊ฐ’ ๊ตฌํ•˜๊ธฐ

result = Counter๋ณ€์ˆ˜์ด๋ฆ„.most_common()

 

[(key, frequency), (key, frequency)] ์ด๋Ÿฐ ์‹์œผ๋กœ ๋‚˜์˜ค๋ฏ€๋กœ ์ตœ๋นˆ๊ฐ’์„ ๊ฐ€์ง€๋Š” key ๊ฐ’์„ ์–ป์œผ๋ ค๋ฉด result[0][0] ์ด๋Ÿฐ ์‹์œผ๋กœ ํ•˜๋ฉด ๋จ

 

 


SQL

  • ๋‚ ์งœ → TO_CHAR(์†์„ฑ, 'yyyy-mm-dd') ์™€ ๊ฐ™์ด ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊ฟ”์„œ ๋น„๊ตํ•˜๊ณ , ์ถœ๋ ฅ๋„ ํฌ๋งท์— ๋งž์ถฐ์„œ ํ•ด์•ผํ•จ.

 

์ƒ์œ„ n ๊ฐœ๋งŒ ์ถœ๋ ฅํ•˜๊ธฐ

FETCH FIRST n ROWS ONLY

๋˜๋Š”

--- where ์ ˆ์—
rownum <= n

Outer Join

where A.id (+)= B.id
  • (+) ํ‘œ๊ธฐ๋ฅผ ํ†ตํ•ด, Bํ…Œ์ด๋ธ”์˜ id๊ฐ€ A ํ…Œ์ด๋ธ”์˜ id ์†ํ•˜์ง€ ์•Š์•„๋„ ์ถœ๋ ฅํ•˜๋„๋ก outer join์„ ์ˆ˜ํ–‰ํ•จ

---

์ด์ง„ ํž™๊ณผ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ(BST) ์˜ ์ฐจ์ด์ 

์ด์ง„ํž™

  • ์ƒ/ํ•˜ ๊ด€๊ณ„ ๋ณด์žฅ
  • ์ตœ์†Œ ํž™์—์„œ๋Š” ๋ถ€๋ชจ๊ฐ€ ํ•ญ์ƒ ์ž์‹๋ณด๋‹ค ์ž‘์Œ
  • ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์กฐํšŒํ•˜๊ฑฐ๋‚˜ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ์กฐํšŒํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ → $O(1)$ ์— ๊ฐ€๋Šฅํ•จ

BST

  • ์ขŒ/์šฐ ๊ด€๊ณ„ ๋ณด์žฅ
  • ๋ถ€๋ชจ๋Š” ์™ผ์ชฝ ์ž์‹๋ณด๋‹ค๋Š” ํฌ๋ฉฐ, ์˜ค๋ฅธ์ชฝ ์ž์‹๋ณด๋‹ค๋Š” ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค
  • ํƒ์ƒ‰๊ณผ ์‚ฝ์ž… ๋ชจ๋‘ $O(\log{n})$ ์— ๊ฐ€๋Šฅํ•จ
  • ๋ชจ๋“  ๊ฐ’์ด ์ •๋ ฌ๋˜์–ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•จ

 


heapq ๊ธฐ๋Šฅ

  • heapify : ์ฃผ์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ€ ํž™ ํŠน์„ฑ์„ ๋งŒ์กฑํ•˜๋„๋ก ๋ฐ”๊ฟ”์ฃผ๋Š” ์—ฐ์‚ฐ
heapq.heapify(nums)
  • nlargest : n ๋ฒˆ์งธ ํฐ ๊ฐ’์„ ์ถ”์ถœํ•˜๋Š” ๊ธฐ๋Šฅ
heapq.nlargest(n, nums)

โžก๏ธ ๊ฐ€์žฅ ํฐ ๊ฐ’๋ถ€ํ„ฐ k๋ฒˆ์งธ ํฐ ๊ฐ’๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฆฌํ„ด๋จ

โœ… nsmallest : n ๋ฒˆ์งธ ์ž‘์€ ๊ฐ’์„ ์ถ”์ถœํ•˜๋Š” ๊ธฐ๋Šฅ

๐Ÿ’ก ํŒŒ์ด์ฌ heapq ๋ชจ๋“ˆ์€ ์ตœ์†Œ ํž™๋งŒ ์ง€์›ํ•˜๋ฏ€๋กœ ์ตœ๋Œ€ ํž™์ฒ˜๋Ÿผ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ์Œ์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์ €์žฅํ•˜๋ฉด ๋จ!

heapq ์—์„œ์˜ ์ตœ์†Ÿ๊ฐ’์€ ํ•ญ์ƒ 0๋ฒˆ ์ธ๋ฑ์Šค!

 

โžก๏ธ min() ์„ ์‚ฌ์šฉํ•˜๋ ค๋‹ค ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚  ์ˆ˜ ์žˆ์œผ๋‹ˆ heapq ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฐ์—ด์—์„œ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ๊ณ ์ž ํ•˜๋ฉด ๊ทธ๋ƒฅ 0๋ฒˆ ์ธ๋ฑ์Šค๋กœ ๋ฐ”๋กœ ์ ‘๊ทผํ•˜๋ฉด ๋œ๋‹ค.

 

๋”•์…”๋„ˆ๋ฆฌ key, value ํ•œ๋ฒˆ์— ๋ฐ˜๋ณต

  • enumerate() ์‚ฌ์šฉํ•˜๊ธฐ
๋ฐ˜์‘ํ˜•