deo2kim
๋งž์™œํ‹€
deo2kim
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
    • CS
      • Algorithm
      • Data Structure
      • Network
      • DB
      • OS
    • Algorithm Problem
      • Python
      • JavaScript
    • Programming language
      • Python
      • JavaScript
    • Tool
      • Jquery
      • React
    • ๊ฐœ๋ฐœ
    • Infra

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

๋ฐ˜์‘ํ˜•
hELLO ยท Designed By ์ •์ƒ์šฐ.
deo2kim

๋งž์™œํ‹€

[python] ๋ฐฑ์ค€ - 15685. ๋“œ๋ž˜๊ณค ์ปค๋ธŒ (์‚ผ์„ฑ SW ์—ญ๋Ÿ‰ ํ…Œ์ŠคํŠธ ๊ธฐ์ถœ ๋ฌธ์ œ)
Algorithm Problem/Python

[python] ๋ฐฑ์ค€ - 15685. ๋“œ๋ž˜๊ณค ์ปค๋ธŒ (์‚ผ์„ฑ SW ์—ญ๋Ÿ‰ ํ…Œ์ŠคํŠธ ๊ธฐ์ถœ ๋ฌธ์ œ)

2020. 11. 17. 12:07
๋ฐ˜์‘ํ˜•

๐Ÿค”๋ฌธ์ œ ํ•ด๊ฒฐ

  • G4 | ๊ตฌํ˜„, ์‹œ๋ฎฌ๋ ˆ์ด์…˜

์ขŒํ‘œ๋ฅผ ๊ตฌํ•ด์„œ ํšŒ์ „์„ ์‹œ์ผœ๊ฐ€๋ฉฐ ๊ตฌํ•˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ ๋„์ €ํžˆ ์•„๋‹Œ๊ฑฐ ๊ฐ™์•˜๋‹ค.

( ๋ฐฉํ–ฅ์ด ์ฃผ์–ด์กŒ๋Š”๋ฐ ์ฒ˜์Œ 1๋ฒˆ๋งŒ์“ฐ๊ณ  ๋ฒ„๋ฆฌ๋‚˜? ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Œ )

๋ฐฉํ–ฅ์œผ๋กœ ๋ณด๋‹ˆ ๊ทœ์น™์„ฑ์ด ์žˆ์—ˆ๋‹ค.

  • 0์„ธ๋Œ€: 0
  • 1์„ธ๋Œ€: 0 | 1
  • 2์„ธ๋Œ€: 0 1 | 2 1
  • 3์„ธ๋Œ€: 0 1 2 1 | 2 3 2 1

์ด์ œ ๊ตฌํ•˜๋Š” ์ˆœ์„œ๋Š”

  • ๋“œ๋ž˜๊ณค ์ปค๋ธŒํ•˜๋‚˜(ํ•œ์ค„)์˜ ๋ฐฉํ–ฅ๋“ค ๊ตฌํ•˜๊ธฐ
  • ๋“œ๋ž˜๊ณค ์ปค๋ธŒํ•˜๋‚˜์˜ ์‹œ์ž‘์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐฉํ–ฅ์— ๋”ฐ๋ผ ์ญ‰์ญ‰ ์ขŒํ‘œ์จ๋‚ด๋ ค๊ฐ€๊ธฐ
  • ๋ชจ๋“  ๋“œ๋ž˜๊ณค ์ปค๋ธŒ๋ฅผ ๋งต์— ํ‘œ์‹œํ–ˆ๋‹ค๋ฉด ๋„ค๋ชจ ๊ตฌํ•˜๊ธฐ

 

๐Ÿ’ป์†Œ์Šค ์ฝ”๋“œ

import sys

input = sys.stdin.readline


def make_curve(x, y, d, g):
    # ์ขŒํ‘œ๋กœ ํ‘ธ๋Š”๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ทœ์น™์„ ์ฐพ์•„ ์ง„ํ–‰๋ฐฉํ–ฅ์œผ๋กœ ํ‘ผ๋‹ค!
    # ์ง„ํ–‰๋ฐฉํ–ฅ์€ ์ง€๊ธˆ๊นŒ์ง€ ์ง„ํ–‰ํ•ด์˜จ ๊ฒƒ๋“ค์„ ์—ญ์ˆœ์œผ๋กœ ๊บผ๋‚ด์„œ ๋ฐ˜์‹œ๊ณ„ 90๋„ ํšŒ์ „์‹œํ‚จ๋‹ค.
    directions = [d]
    for i in range(g):
        for j in range(len(directions) - 1, -1, -1):
            # 0 -> 1, 1 -> 2, 2 -> 3, 3 -> 0
            directions.append((directions[j] + 1) % 4)
    # print(directions)

    return directions


def set_coordinates(x, y, directions):
    # ์ง„ํ–‰๋ฐฉํ–ฅ์„ ๊ตฌํ–ˆ์œผ๋ฉด ์ขŒํ‘œ๋ฅผ ๊ตฌํ•œ๋‹ค.
    # ์ „์ฒด ํฌ๊ธฐ๋Š” 101 x 101
    # ์šฐ, ์ƒ, ์ขŒ, ํ•˜
    dx, dy = [0, -1, 0, 1], [1, 0, -1, 0]
    maps[x][y] = 1  # ์ฒซ ์ขŒํ‘œ๋ฅผ ํ‘œ์‹œ ์•ˆํ•ด์ฃผ๋ฉด ๊ณ ์žฅ๋‚จ
    for k in directions:
        x += dx[k]
        y += dy[k]
        maps[x][y] = 1


def get_square():
    cnt = 0
    for i in range(M - 1):
        for j in range(M - 1):
            # i, j๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์šฐ, ํ•˜, ์šฐํ•˜ ๊ฐ€ 1์ด๋ฉด ์‚ฌ๊ฐํ˜•์ด๋‹ค.
            if maps[i][j] and maps[i + 1][j] and maps[i][j + 1] and maps[i + 1][j + 1]:
                cnt += 1
    return cnt


if __name__ == '__main__':
    N = int(input())
    infos = [list(map(int, input().split())) for _ in range(N)]

    all_curves = []
    M = 101
    maps = [[0] * M for _ in range(M)]

    for info in infos:
        # ํ—ท๊ฐˆ๋ ค์„œ ์›๋ž˜ ํ•˜๋˜๋Œ€๋กœ x๋ฅผ ์„ธ๋กœ, y๋ฅผ ๊ฐ€๋กœ๋กœ ๋ฐ”๊ฟˆ
        y, x, d, g = info  # ๊ฐ€๋กœ, ์„ธ๋กœ, ๋ฐฉํ–ฅ, ์„ธ๋Œ€
        directions = make_curve(x, y, d, g)
        set_coordinates(x, y, directions)

        # for rw in maps:
        #     print(rw)
        # print()

    # answer
    answer = get_square()
    print(answer)

 

๐Ÿ“•๋ฌธ์ œ ํ™•์ธ

์ถœ์ฒ˜: BACKJOON ONLINE JUDGE

๋งํฌ: https://www.acmicpc.net/problem/15685

 

15685๋ฒˆ: ๋“œ๋ž˜๊ณค ์ปค๋ธŒ

์ฒซ์งธ ์ค„์— ๋“œ๋ž˜๊ณค ์ปค๋ธŒ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 20)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๋“œ๋ž˜๊ณค ์ปค๋ธŒ์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋“œ๋ž˜๊ณค ์ปค๋ธŒ์˜ ์ •๋ณด๋Š” ๋„ค ์ •์ˆ˜ x, y, d, g๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. x์™€ y๋Š” ๋“œ๋ž˜๊ณค ์ปค

www.acmicpc.net

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Algorithm Problem > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[python] SWEA - 6692. ๋‹ค์†”์ด์˜ ์›”๊ธ‰ ์ƒ์ž  (0) 2020.11.20
[python] SWEA - 10570. ์ œ๊ณฑ ํŒฐ๋ฆฐ๋“œ๋กฌ ์ˆ˜  (0) 2020.11.19
[python] ๋ฐฑ์ค€ - 14500. ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ (์‚ผ์„ฑ SW ์—ญ๋Ÿ‰ ํ…Œ์ŠคํŠธ ๊ธฐ์ถœ ๋ฌธ์ œ)  (0) 2020.11.16
[python] ๋ฐฑ์ค€ - 1261. ์•Œ๊ณ ์ŠคํŒŸ  (0) 2020.11.15
[python] ๋ฐฑ์ค€ - 14889. ์Šคํƒ€ํŠธ์™€ ๋งํฌ  (0) 2020.11.14
    'Algorithm Problem/Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [python] SWEA - 6692. ๋‹ค์†”์ด์˜ ์›”๊ธ‰ ์ƒ์ž
    • [python] SWEA - 10570. ์ œ๊ณฑ ํŒฐ๋ฆฐ๋“œ๋กฌ ์ˆ˜
    • [python] ๋ฐฑ์ค€ - 14500. ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ (์‚ผ์„ฑ SW ์—ญ๋Ÿ‰ ํ…Œ์ŠคํŠธ ๊ธฐ์ถœ ๋ฌธ์ œ)
    • [python] ๋ฐฑ์ค€ - 1261. ์•Œ๊ณ ์ŠคํŒŸ
    deo2kim
    deo2kim
    ์ฝ”๋”ฉ ๊ธฐ๋กํ•˜๊ธฐ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”