Home - GitDeveloperKim/DreamEach GitHub Wiki

์„ธ์ƒ ๋ชจ๋“  ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์•Œ ๋•Œ๊นŒ์ง€~

Ground Rule

  1. ํ•œ ์ฃผ์— 5๊ฐœ์”ฉ๋งŒ ํ’€์ž!!
  2. ๋ฌธ์ œํ’€๊ณ  ๊นƒํ—ˆ๋ธŒ ์—…๋กœ๋“œ
  3. ์ด๋ก  wiki์— ์ •๋ฆฌ

์ฝ”๋”ฉ์— ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์€ ๊ฒƒ๋“ค

๋น…์˜ค ํ‘œ๊ธฐ๋ฒ•

  • ์ผ๋ฐ˜์ ์œผ๋กœ 1์–ต๋ฒˆ ์ด์ƒ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ฃฝ์Œ
  • O(NlogN) + O(N) = O(NlogN) // ๋งจ ๋งˆ์ง€๋ง‰์— ์ •๋‹ต ์ถœ๋ ฅ์„ ์œ„ํ•œ ์ตœ๋Œ€, ์ตœ์†Œ, ํ•ฉ๊ณ„๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ for๋ฌธ ํ•œ๋ฒˆ ๋Œ๋ฆฌ๋Š” ๊ฒƒ์€ ์•„๋ฌด ์˜ํ–ฅ ์—†์Œ

์ž๋ฐ” ์ดˆ๊ธฐํ™”

  • boolean ๊ฐ’์€ ์ดˆ๊ธฐ ์„ ์–ธ ์‹œ false๋กœ ์ดˆ๊ธฐํ™” ๋œ๋‹ค
  • int[] ๊ฐ’์€ ์ดˆ๊ธฐ ์„ ์–ธ ์‹œ 0์œผ๋กœ ์ดˆ๊ธฐํ™” ๋œ๋‹ค

BIT ์—ฐ์‚ฐ

  • 1<<n : 2^n
  • i&(1<<j) : ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋Š” i์˜ j๋ฒˆ์งธ ๋น„ํŠธ๊ฐ€ 1์ธ์ง€ ์•„๋‹Œ์ง€ ์˜๋ฏธํ•œ๋‹ค
  • if ((num & 1) == 0) : ์ง์ˆ˜ ํ™€์ˆ˜ ํŒ๋‹จ, ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž๋ณด๋‹ค ํšจ์œจ์ด ์ข‹๋‹ค
  • ๋น„ํŠธ ์—ฐ์‚ฐ์ž ^๋ฅผ ๋‘๋ฒˆ ์—ฐ์‚ฐํ•˜๋ฉด ์ฒ˜์Œ ๊ฐ’์„ ๋ฐ˜ํ™˜

์ž์ฃผ์‚ฌ์šฉ๋˜๋Š” ๋ณ€์ˆ˜๋ช… (๋ช…๋ช… ๊ทœ์น™)

  • ์ฝ”๋”ฉ๋ฌธ์ œ ํ’€๋•Œ ์ด๋ฆ„์ง“๋Š”๋ฐ ์‹œ๊ฐ„์„ ์ค„์ด๊ณ ์ž ํ•จ
  • start(s) end(e) // ์„ธ๊ทธ๋จผํŠธ ํŠธ๋ฆฌ ํƒ์ƒ‰ ๋ฒ”์œ„ (ํŠธ๋ฆฌ ํƒ€๊ณ  ๋“ค์–ด๊ฐ€๋Š” ๋ณ€์ˆ˜)
  • left(l) right(r) // ์„ธ๊ทธ๋จผํŠธ ํŠธ๋ฆฌ ์ฐพ๊ณ ์ž ํ•˜๋Š” ๊ตฌ๊ฐ„ (๊ณ ์ •๋œ ๊ฐ’)
  • from to // ํ˜„์žฌ ์œ„์น˜, ๋‹ค์Œ ์œ„์น˜
  • cur next // ํ˜„์žฌ ๋…ธ๋“œ, ๋‹ค์Œ ๋…ธ๋“œ
  • u v w // u->v๋กœ ๊ฐ€๋Š” ๊ฐ€์ค‘์น˜w
  • answer // ์ •๋‹ต ์ถœ๋ ฅ
  • visited[], d[], Arr[], input[], str[] // ์ธํ’‹๊ฐ’
  • Tree, Node, Point, Edge, Graph // ํด๋ž˜์Šค ์ด๋ฆ„
  • adj, mat, topology // ์ธ์ ‘ ํ–‰๋ ฌ
  • Queue q // ํ
  • PriorityQueue pq // priority queue

ํƒ€์ž…๋ณ€ํ™˜

  • int -> long
  • 1000_000_007์˜ ์˜๋ฏธ๋Š” 10์–ต์ด ๋„˜๋Š” ์ตœ์†Œ์˜ ์†Œ์ˆ˜
  • ๊ฒฐ๊ตญ ์—ฐ์‚ฐํ• ๋•Œ MOD์—ฐ์‚ฐ์„ ํ•ด์ฃผ๊ณ  ๊ฒฐ๊ณผ๊ฐ’๋„ MOD๋ฅผ ํ•ด์ฃผ๋Š”๊ฒŒ ์ข‹๋‹ค
  • refer
  • refer

๊ตฌํ˜„

๊ธธ์ฐพ๊ธฐ ๊ตฌํ˜„ ํŒ
dx = {0, -1, 0, 1} // ๋™์„œ๋‚จ๋ถ
dy = {1, 0, -1, 0}

public static int[] Dx = new int[]{-2, -2, -1, -1, 1, 1, 2, 2}; // ์ฒด์Šค ๋ง
public static int[] Dy = new int[]{1, -1, 2, -2, 2, -2, 1, -1};

x,y = 2,2 // ํ˜„์žฌ ์œ„์น˜

nx = x + dx[i]
ny = y + dy[i]
arr[ny][nx] // ๋ฐ˜๋Œ€๋กœ ๋„ฃ์–ด์•ผ x,y ์˜๋ฏธ // arr [y][x] == arr[ํ–‰][์—ด]

์ปดํ“จํ„ฐ ์‚ฌ์ด์–ธ์Šค ์ด๋ก 

  • ๋ฐœ๋จธ์˜ ํ”ผํฌ ์ด๋ก ์ด๋ž€, ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ํ˜ˆ์ค‘ ์•Œ์ฝœ ๋†๋„๊ฐ€ 0.129%~0.138% ์‚ฌ์ด์ผ ๋•Œ ์ดˆ์ธ์ ์ธ ์ฝ”๋”ฉ ์‹ค๋ ฅ์„ ๋ฐœํœ˜ํ•œ๋‹ค๋Š” ์ด๋ก ์ด๋‹ค. ์ˆ ๋จน๊ณ  ์ฝ”๋”ฉํ•˜๋ฉด ์ž˜ํ’€๋ฆฌ๋‚˜...? click
  • 12ํ”ผํŠธ ๊ธธ์ด์˜ ์ž”๋””๋ฐญ์— ์šธํƒ€๋ฆฌ๋ฅผ ๊ธธ๊ฒŒ ์„ธ์šฐ๋ ค ํ•˜๋Š”๋ฐ ๊ธฐ๋‘ฅ ์‚ฌ์ด์˜ ์šธํƒ€๋ฆฌ ๋ฒฝ ๋ถ€๋ถ„์€ ํญ์ด 3ํ”ผํŠธ ๊ธธ์ด๋ผ๋ฉด ์šธํƒ€๋ฆฌ ๊ธฐ๋‘ฅ์ด ๋ช‡๊ฐœ ํ•„์š”ํ•œ๊ฐ€? 5๊ฐœ๊ฐ€ ํ•„์š”ํ•˜๋‹ค : ์šธํƒ€๋ฆฌ ๊ธฐ๋‘ฅ(fencepost) ์—๋Ÿฌ,,, ๊ฐœ๋ฐœ์ž๋Š” ์ˆซ์ž๋ฅผ ์ž˜ ๋ชป์„ผ๋‹ค...
  • ์ง€์‹์˜ ์ €์ฃผ ๋„ค์ด๋ฒ„์‚ฌ์ „