๐Ÿ”์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฐฑ์ค€

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 1194๋ฒˆ: ๋‹ฌ์ด ์ฐจ์˜ค๋ฅธ๋‹ค, ๊ฐ€์ž

    ๋ฌธ์ œ ํ’€์ด ๋น„ํŠธ ๋งˆ์Šคํ‚น์„ ์‚ฌ์šฉํ•ด ํ’€์—ˆ๋‹ค. ์•„์ง ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ƒํƒœ : 0b0 ํ‚ค ์—†์Œ : 0b1 aํ‚ค : 0b10 bํ‚ค : 0b100 cํ‚ค : 0b1000 a, cํ‚ค : 0b1010 ... ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ฐฉ๋ฌธ ์—ฌ๋ถ€๋ฅผ ๊ธฐ๋กํ–ˆ๋‹ค. ๋˜ํ•œ haveKey์— ๋ฏผ์‹์ด๊ฐ€ ๋ณด์œ ํ•œ ์—ด์‡  ์ •๋ณด๋ฅผ ๋น„ํŠธ ๋งˆ์Šคํ‚นํ–ˆ๋‹ค. ํ‚ค ์—†์Œ : 0b1 aํ‚ค ๋ณด์œ  : 0b11 bํ‚ค ๋ณด์œ  : 0b101 a, bํ‚ค ๋ณด์œ  : 0b111 ... ๋งŒ์•ฝ a, bํ‚ค๋ฅผ ๊ฐ€์ง„ ๋ฏผ์‹์ด๊ฐ€ ์ขŒํ‘œ(x, y)์— ๋ฐฉ๋ฌธํ•˜๋ ค ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ํ•ด๋‹น ์ขŒํ‘œ์— ์ด๋ฏธ a, b, cํ‚ค๋ฅผ ์†Œ์œ ํ•œ ์ฑ„๋กœ ๋ฐฉ๋ฌธํ•œ ์ ์ด ์žˆ๋‹ค๋ฉด ๋ฐฉ๋ฌธํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. if (visited[ni][nj] | haveKey) == visited[ni][nj]: continue ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค. htt..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 11578๋ฒˆ: ํŒ€์› ๋ชจ์ง‘

    ๋ฌธ์ œ ํ’€์ด ๋น„ํŠธ ๋งˆ์Šคํ‚น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅ n, m = map(int, input().split()) arr = [0b0000000000] * (m + 1) for i in range(1, m + 1): question = list(map(int, input().split()))[1:] for q in question: arr[i] |= (1

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 17472๋ฒˆ: ๋‹ค๋ฆฌ ๋งŒ๋“ค๊ธฐ 2

    ๋ฌธ์ œ ํ’€์ด ์ž…๋ ฅ n, m = map(int, input().split()) graph = [list(map(int, input().split())) for _ in range(n)] visited = [[False] * m for _ in range(n)] dir = ((0, 1), (0, -1), (1, 0), (-1, 0)) ์„ฌ์„ ๊ตฌ๋ถ„ ์ง“๊ธฐ ์œ„ํ•ด bfs๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. def marking(y, x, mark): q = deque() q.append((y, x)) graph[y][x] = mark visited[y][x] = True while q: i, j = q.popleft() for dy, dx in dir: ni, nj = i + dy, j + dx if condition(ni, nj) or n..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 2146๋ฒˆ: ๋‹ค๋ฆฌ ๋งŒ๋“ค๊ธฐ

    ๋ฌธ์ œ ํ’€์ด ์ž…๋ ฅ import sys from collections import deque imput = sys.stdin.readline n = int(input()) graph = [list(map(int, input().split())) for _ in range(n)] visited = [[False] * n for _ in range(n)] dir = ((0, 1), (0, -1), (1, 0), (-1, 0)) ์„ฌ์„ ๋‚˜๋ˆ„๋Š” ๊ณผ์ • 0์ด ์•„๋‹Œ ์ขŒํ‘œ๋ฅผ ๋ฐœ๊ฒฌํ•œ ๊ฒฝ์šฐ ๊ทธ ์ขŒํ‘œ์™€ ์—ฐ๊ฒฐ๋œ ๊ฐ’์„ ์ „๋ถ€ mark๋กœ ๋ฐ”๊พผ๋‹ค. mark = 1 for i in range(n): for j in range(n): if graph[i][j] and not visited[i][j]: marking(i, j, mark) ma..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 1726๋ฒˆ: ๋กœ๋ด‡

    ๋ฌธ์ œ ํ’€์ด ์™ผ์ชฝ ์˜ค๋ฅธ์ชฝ ์„ค์ • def turnLeft(now): if now == 1: return 4 #๋™ ๋ถ if now == 2: return 3 #์„œ ๋‚จ if now == 3: return 1 #๋‚จ ๋™ if now == 4: return 2 #๋ถ ์„œ def turnRight(now): if now == 1: return 3 #๋™ ๋‚จ if now == 2: return 4 #์„œ ๋ถ if now == 3: return 2 #๋‚จ ์„œ if now == 4: return 1 #๋ถ ๋™ ์ž…๋ ฅ i, j, dir์€ ๋กœ๋ด‡์˜ ์œ„์น˜ m, n = map(int, input().split()) graph = [list(map(int, input().split())) for _ in range(m)] visited = [[[..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 3055๋ฒˆ: ํƒˆ์ถœ

    ๋ฌธ์ œ ํ’€์ด ์ž…๋ ฅ๋ฐ›๋Š” ์ฝ”๋“œ from collections import deque input = __import__('sys').stdin.readline r, c = map(int, input().split()) graph = [list(input().strip()) for _ in range(r)] waterVisited = [[False] * c for _ in range(r)] dociVisited = [[False] * c for _ in range(r)] water = deque() dx = [0, 0, -1, 1] dy = [1, -1, 0, 0] ๊ตด, ๊ณ ์Šด๋„์น˜, ๋ฌผ์˜ ์œ„์น˜๋ฅผ ์ฐพ์•„์ฃผ์—ˆ๋‹ค. ๋ฌผ ๊ฐ™์€ ๊ฒฝ์šฐ bfs๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋ฏ€๋กœ deque์— ๋„ฃ์—ˆ๋‹ค. # ์ดˆ๊ธฐ๊ฐ’ ์„ค์ • for i in range(r)..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 16933๋ฒˆ: ๋ฒฝ ๋ถ€์ˆ˜๊ณ  ์ด๋™ํ•˜๊ธฐ 3

    ๋ฌธ์ œ ํ’€์ด n, m, k = map(int, input().split()) graph = [input().rstrip() for _ in range(n)] visited = [[k + 1 for _ in range(m)] for _ in range(n)] visited[0][0] = 0 visited๋Š” ๋„์ฐฉํ–ˆ์„ ๋•Œ ๋ฒฝ์„ ๋ถ€์ˆœ ํšŸ์ˆ˜๋ฅผ ๋„ฃ๋Š”๋‹ค. ์ดˆ๊ธฐ ๊ฐ’์œผ๋กœ ๋ฒฝ์„ ์ตœ๋Œ€๋กœ ๋ถ€์ˆ  ์ˆ˜ ์žˆ๋Š” ํšŸ์ˆ˜๋ฅผ ๋„ฃ๋Š”๋‹ค. ๋งŒ์•ฝ (x, y) ์ขŒํ‘œ์—์„œ ๋ฒฝ์„ ๋ถ€์ˆœ ํšŸ์ˆ˜(w)๊ฐ€ 5๋ฒˆ์ด๊ณ , k+1 = 7์ด๋ผ๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ visited[y][x] = 4 ์ธ ๊ฒฝ์šฐ (x, y) ์ขŒํ‘œ์— ๋ฒฝ์„ 4๋ฒˆ ๋ถ€์ˆ˜๊ณ  ๋ฐฉ๋ฌธํ–ˆ๋‹ค๋Š” ๋œป visited[y][x] = 7์ธ ๊ฒฝ์šฐ (x, y) ์ขŒํ‘œ๋ฅผ ์•„์ง ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์•˜๋‹ค๋Š” ๋œป ์ฝ”๋“œ from collections imp..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 16946๋ฒˆ: ๋ฒฝ ๋ถ€์ˆ˜๊ณ  ์ด๋™ํ•˜๊ธฐ 4

    ๋ฌธ์ œ ํ’€์ด 1. 0์˜ ๋ฌถ์Œ์„ ๊ทธ๋ฃน์œผ๋กœ ํ‘œ์‹œํ•ด์ค€๋‹ค. 2. ๊ฐ ๊ทธ๋ฃน๋ณ„๋กœ 0์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ dict๋ฅผ ํ†ตํ•ด ์ €์žฅํ•œ๋‹ค. 3. ๋ฒฝ(1)์—์„œ ์ƒํ•˜์ขŒ์šฐ๋กœ ์ธ์ ‘ํ•œ ๊ทธ๋ฃน์„ ๊ตฌํ•œ ๋’ค, ๊ทธ ๊ทธ๋ฃน์— ํ•ด๋‹นํ•˜๋Š” 0์˜ ๊ฐœ์ˆ˜๋ฅผ ๋”ํ•ด์ค€๋‹ค. ๊ทธ๋ฃน์ด ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ set()์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ฝ”๋“œ from collections import deque input = __import__('sys').stdin.readline def bfs(start): q = deque() q.append(start) cnt = 1 while q: i, j = q.popleft() zeros[i][j] = group for idx in range(4): ni, nj = i + dy[idx], j + dx[idx] if ni = n or ..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 16954๋ฒˆ: ์›€์ง์ด๋Š” ๋ฏธ๋กœ ํƒˆ์ถœ

    ๋ฌธ์ œ ํ’€์ด ๋ฒฝ์ด ํ•œ ์นธ ๋‚ด๋ ค์˜ค๋Š” ๊ฒƒ = ์šฑ์ œ๊ฐ€ ํ•œ ์นธ ์œ„๋กœ ์˜ฌ๋ผ๊ฐ€๋Š” ๊ฒƒ ๋˜ํ•œ ์šฑ์ œ๊ฐ€ ๋งจ ์œ„์นธ์œผ๋กœ ์˜ฌ๋ผ๊ฐ€๊ธฐ๋งŒ ํ•˜๋ฉด, ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. (1์ดˆ ๋’ค์—๋Š” ์šฑ์ œ์™€ ๊ฐ™์€ ์นธ์— ์žˆ๋Š” ๋ฒฝ๋“ค์ด ์ „๋ถ€ ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ€๊ณ , ์šฑ์ œ๋Š” ๊ทธ ์นธ์— ๊ทธ๋Œ€๋กœ ์žˆ์œผ๋ฏ€๋กœ) ์ฝ”๋“œ from collections import deque input = __import__('sys').stdin.readline n = 8 graph = [list(input().strip()) for _ in range(n)] visited = [[False] * n for _ in range(n)] dx = [0, 0, 1, -1, 1, -1, 1, -1, 0] dy = [1, -1, 0, 0, 1, 1, -1, -1, 0] q = deque() q.ap..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 2448๋ฒˆ: ๋ณ„ ์ฐ๊ธฐ - 11

    ๋ฌธ์ œ ํ’€์ด ์œ„ ๊ทธ๋ฆผ๊ณผ ํ†ตํ•ด ๊ทœ์น™์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. N = 6 -> N = 3์ผ ๋•Œ์˜ ์‚ผ๊ฐํ˜• 3๊ฐœ๋กœ ๋ถ„ํ•  ๊ฐ€๋Šฅ N = 12 -> N = 6์ผ ๋•Œ์˜ ์‚ผ๊ฐํ˜• 3๊ฐœ๋กœ ๋ถ„ํ•  ๊ฐ€๋Šฅ N = 24 -> N = 6์ผ ๋•Œ์˜ ์‚ผ๊ฐํ˜• 3๊ฐœ๋กœ ๋ถ„ํ•  ๊ฐ€๋Šฅ ... N= 3์ธ ๊ฒฝ์šฐ ์‚ผ๊ฐํ˜•์„ ๊ทธ๋ฆฐ๋‹ค. ์•„๋‹ ๊ฒฝ์šฐ, ์ด์ „ ์ƒํƒœ์˜ ์‚ผ๊ฐํ˜•(N//2) 3๊ฐœ๋กœ ๋ถ„ํ•  (๊ฐ๊ฐ์— ๋Œ€ํ•ด ์žฌ๊ท€ ํ˜ธ์ถœ) 1. ์šฐ์„  ์ „์ฒด ๋ฐฐ์—ด์„ ์ƒ์„ฑ stars = [[' ']*2*n for _ in range(n)] 2. ๋ถ„ํ•  ์ •๋ณต์„ ์œ„ํ•ด ํ•จ์ˆ˜ ์ƒ์„ฑ ํ›„ n์ด 3์ผ ๋•Œ ์‚ผ๊ฐํ˜•์„ ๊ทธ๋ ค์ค€๋‹ค. i, j๋Š” ์ขŒํ‘œ ๊ฐ’ def recursion(i, j, size): if size == 3: stars[i][j] = '*' stars[i + 1][j - 1] = stars[i + 1][j ..