[TIL #22] 22์ผ์ฐจ ์˜ค๋Š˜์˜ ๊ณต๋ถ€ (2023.03.21 ํ™”)

2023. 3. 21. 23:25ใ†Today I Learned

TIL 2023.03.22 ๐Ÿฃ

์˜ค๋Š˜ ๋ฐฐ์šด ๊ฒƒ ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป

  • ์–ด์ œ ๋งŒ๋‚œ ๊นƒ ์—๋Ÿฌ ํฌ์ŠคํŒ…
    • ๊นƒ์„ ์‚ฌ์šฉํ•ด๋ณด๊ธด ํ–ˆ์ง€๋งŒ, ํ˜‘์—…์€ ํ•ด๋ณธ์ ์ด ์—†์–ด์„œ ์•„์ง ๋ถ€์กฑํ•œ ์ ์ด ๋งŽ๋‹ค. ๊ทธ๋ž˜๋„ ์ต์ˆ™ํ•ด์ง€๊ธฐ ์œ„ํ•ด์„œ branch๋ฅผ ๋ถ„๋ฆฌํ•ด์„œ ํ˜ผ์ž์„œ๋ผ๋„ ์—ฐ์Šตํ•ด๋ณด๋ ค ํ•˜๋Š”๋ฐ ๊ทธ ๊ณผ์ •์—์„œ ๋งˆ์ฃผํ•œ ์—๋Ÿฌ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ๋ธ”๋กœ๊ทธ์— ์ž‘์„ฑํ–ˆ๋‹ค. ์•„์ง ๋ถ€์กฑํ•œ ์ ์ด ๋งŽ๋‹ค๋Š” ๊ฒŒ ๋Š๊ปด์ง„๋‹ค.
    • 2023.03.21 - [๊ฐœ๋ฐœ๊ณต๋ถ€ ๊ธฐ๊ฐ•์žก์ž/Git] - [Git]git pull ํ•  ๋•Œ fatal: Need to specify how to reconcile divergent branches. ์˜ค๋ฅ˜
 

[Git]git pull ํ•  ๋•Œ fatal: Need to specify how to reconcile divergent branches. ์˜ค๋ฅ˜

git pull์„ ํ•˜๋ ค๋‹ˆ fatal: Need to specify how to reconcile divergent branches. ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” main๊ณผ ์ƒˆ๋กœ ์ƒ์„ฑํ•œ branch์˜ head ๊ฐ€ ๋‹ฌ๋ผ์„œ ๊ทธ๋Ÿฐ๊ฐ€ ํ•ด์„œ merge๋„ ํ•ด๋ดค์ง€๋งŒ ์˜ค๋ฅ˜๊ฐ€ ํ•ด๊ฒฐ์ด ์•ˆ๋๋‹ค. branch๋ฅผ ์ƒˆ

devum.tistory.com

 

  • ํด๋ฆฐ์ฝ”๋“œ ์ด์ œ๋Š” ํŒŒ์ด์ฌ์ด๋‹ค 8์žฅ
  • ํ•™๊ต ๊ฐ•์˜

์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ๋ฐฑ์ค€ 2630 : ์ƒ‰์ข…์ด ๋งŒ๋“ค๊ธฐ ์žฌ๊ท€๋ฌธ์ œ, ํ•จ์ˆ˜ ๋งŒ๋“ค์–ด์„œ ์žฌ๊ท€์ ์œผ๋กœ ๋งŒ๋“ค์—ˆ๋”๋‹ˆ ์„ฑ๊ณต! ์•ผํ™
  • ๋ฐฑ์ค€ 1074 : Z, ์ด๊ฒƒ๋„ ์žฌ๊ท€ ๋ฌธ์ œ.
    1. board๋ผ๋Š” 2^n * 2^n ํฌ๊ธฐ์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ช‡๋ฒˆ์งธ๋กœ ๋ฐฉ๋ฌธํ–ˆ๋Š”์ง€ ๊ธฐ๋กํ–ˆ๋Š”๋ฐ, ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.
    • ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ตณ์ด ์•ˆ์“ฐ๊ณ  ์žฌ๊ท€ ํ˜ธ์ถœ ํ•˜๋‹ค๊ฐ€ (r, c) ์ขŒํ‘œ์— ๋ฐฉ๋ฌธํ•˜๊ฒŒ ๋˜๋ฉด ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด๋ฒ„๋ฆฌ๋ฉด ๋ถˆํ•„์š”ํ•œ ๋ฐฉ๋ฌธ๋„ ์ค„์—ฌ ์‹œ๊ฐ„๋„ ์ค„์ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.
    1. (r, c) ๋ฐฉ๋ฌธ ์‹œ, ๋ช‡๋ฒˆ์งธ ๋ฐฉ๋ฌธ์ธ์ง€ ์ถœ๋ ฅํ•˜๊ณ  exit(0)๋ฅผ ํ˜ธ์ถœํ•ด ์žฌ๊ท€ ํ˜ธ์ถœ์„ ์ข…๋ฃŒ์‹œ์ผฐ๋‹ค.
    • ๐Ÿ‘‰ ๊ทธ๋Ÿฌ๋‚˜ ์‹œ๊ฐ„ ์ดˆ๊ณผ! n์ด ์ตœ๋Œ€ 15๊นŒ์ง€ ์ฃผ์–ด์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์•…์˜ ๊ฒฝ์šฐ (2^15 * 2^15 = 2^30) 10์–ต๋ฒˆ์ด ๋„˜๋Š” ์—ฐ์‚ฐ์„ ํ•ด์•ผํ•œ๋‹ค.
    1. ํ•˜๋‚˜ํ•˜๋‚˜ ๋ฐฉ๋ฌธํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, n // 2 ์˜ ํฌ๊ธฐ๋กœ ์ ์ฐจ ์ค„์—ฌ๋‚˜๊ฐˆ ๋•Œ, ๋‚˜๋‰˜์–ด์ง„ ๋ฒ”์œ„ ๋‚ด์— (r, c) ์ขŒํ‘œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์žฌ๊ท€ํ˜ธ์ถœ์„ ํ•˜์ง€ ์•Š๊ณ  n * n ๋งŒํผ์˜ count๋ฅผ ์ฆ๊ฐ€์‹œ์ผœ์คฌ๋‹ค. ๐Ÿ‘‰ ๊ณ„์‚ฐ ์†๋„ ์™„์ „ ๋นจ๋ผ์ง.
    ์ตœ์ข… ์†Œ์Šค
    # Z
    import sys
    sys.setrecursionlimit(10**7)
    
    n, r, c = map(int, sys.stdin.readline().rstrip().split())
    cnt = 0
    
    def visitZ(x, y, n):
        global cnt
        if n == 1:
            if x == r and y == c:
                print(cnt)
                exit(0)
            cnt += 1
            return
        
        # 4๊ฐœ๋กœ ์ชผ๊ฐœ๊ธฐ
        if x <= r < (x + n) and y <= c < (y + n):
            mid = n // 2
            visitZ(x, y, mid)
            visitZ(x, y + mid, mid)
            visitZ(x + mid, y, mid)
            visitZ(x + mid, y + mid, mid)
        else:
            cnt += n * n
        
    visitZ(0, 0, 2 ** n)

์ถ”๊ฐ€์ ์œผ๋กœ ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ

๊ธฐํƒ€ ๐Ÿค”

  • ๋ธ”๋กœ๊ทธ ๊ธ€์”จ์ฒด๋ฅผ ๋ฐ”๊ฟจ๋‹ค. ๊ทธ๋™์•ˆ ๊ฒŒ์‹œ๊ธ€ ์˜์–ด ํฐํŠธ ์ •๋ง ๋ง˜์— ์•ˆ๋“ค์—ˆ๋Š”๋ฐ ํฐํŠธ๊ฐ€ ์ž˜๋ชป ์ ์šฉ๋˜์–ด์žˆ์—ˆ๋‹ค. ์—ญ์‹œ CSS ๋ณ€๊ฒฝ์€ ์ฆ๊ฑฐ์›Œ
  • ๋งˆํฌ๋‹ค์šด์ด ํฌ์ŠคํŒ…ํ•  ๋•Œ ์„œ์‹ ์ ์šฉํ•˜๊ธฐ ํŽธํ•˜๊ธด ํ•œ๋ฐ ์™ค์ผ€ ๋ชป์ƒ๊ธฐ๊ฒŒ ์ ํž๊นŒ ใ…  ์Šฌํผ์š”