๐Ÿ‘จโ€๐Ÿ’ป
Hamin TIL
  • Today I Learned ๐Ÿง‘๐Ÿปโ€๐Ÿ’ป
  • ํšŒ๊ณ 
  • git
    • git_basics
      • Git 101
      • Git branch
      • Git_ignore
    • Git Book
    • ์šฐ์•„ํ•œํ˜•์ œ๋“ค
    • pull_request
  • db
    • DA
      • ๋ฐ์ดํ„ฐํ‘œ์ค€ํ™”
      • ๋ฐ์ดํ„ฐ_์š”๊ฑด๋ถ„์„
      • ์ „์‚ฌ์•„ํ‚คํ…์ฒ˜_์ดํ•ด
      • ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง
    • SQL
      • SQL๊ธฐ๋ณธ๋ฐํ™œ์šฉ
        • SQLํ™œ์šฉ
          • ์ ˆ์ฐจํ˜•SQL
          • ๊ณ„์ธตํ˜•์งˆ์˜์™€์…€ํ”„์กฐ์ธ
          • DCL
          • ๊ทธ๋ฃนํ•จ์ˆ˜
          • ์œˆ๋„์šฐํ•จ์ˆ˜
          • ํ‘œ์ค€์กฐ์ธ
          • ์ง‘ํ•ฉ์—ฐ์‚ฐ์ž
          • ์„œ๋ธŒ์ฟผ๋ฆฌ
        • SQL๊ณ ๊ธ‰ํ™œ์šฉ๋ฐํŠœ๋‹
          • ์˜ตํ‹ฐ๋งˆ์ด์ €์™€์‹คํ–‰๊ณ„ํš
          • ์กฐ์ธ์ˆ˜ํ–‰์›๋ฆฌ
          • ์ธ๋ฑ์Šค๊ธฐ๋ณธ
        • SQL๊ธฐ๋ณธ
          • ํ•จ์ˆ˜
          • ๊ด€๊ณ„ํ˜•๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐœ์š”
          • GROUPBY,HAVING์ ˆ
          • DDL
          • ์กฐ์ธ
          • ORDERBY์ ˆ
          • DML
          • WHERE์ ˆ
          • TCL
      • ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง์˜์ดํ•ด
        • ๋ฐ์ดํ„ฐ๋ชจ๋ธ๊ณผ์„ฑ๋Šฅ
          • ์ •๊ทœํ™”์˜ ์„ฑ๋Šฅ
          • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ตฌ์กฐ์™€์„ฑ๋Šฅ
          • ๋ถ„์‚ฐ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์„ฑ๋Šฅ
          • ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ
          • ๋ฐ˜์ •๊ทœํ™”์™€ ์„ฑ๋Šฅ
          • ์„ฑ๋Šฅ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง์˜ ๊ฐœ์š”
        • ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง์˜์ดํ•ด
          • ์‹๋ณ„์ž
          • ์†์„ฑ
          • ๊ด€๊ณ„
          • ์—”ํ„ฐํ‹ฐ
          • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์ดํ•ด
    • DB
  • trouble
    • libomp
    • After macOS update, git command
    • system
  • algorithm
    • BOJ
      • ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ
      • 17825-์ฃผ์‚ฌ์œ„์œท๋†€์ด
      • 14888-์—ฐ์‚ฐ์ž๋ผ์›Œ๋„ฃ๊ธฐ
      • 14503-๋กœ๋ด‡์ฒญ์†Œ๊ธฐ
      • 10157
      • 14502-์—ฐ๊ตฌ์†Œ
      • 18428-๊ฐ์‹œํ”ผํ•˜๊ธฐ
      • 14501
      • 18405-๊ฒฝ์Ÿ์ ์ „์—ผ
      • 14499-์ฃผ์‚ฌ์œ„๊ตด๋ฆฌ๊ธฐ
      • 16236-์•„๊ธฐ์ƒ์–ด
      • 15686-์น˜ํ‚จ๋ฐฐ๋‹ฌ
      • 19237-์–ด๋ฅธ์ƒ์–ด
      • 16234-์ธ๊ตฌ์ด๋™
      • 19236-์ฒญ์†Œ๋…„์ƒ์–ด
      • 1339-๋‹จ์–ด์ˆ˜ํ•™
      • ๋ฆฌ๋ชจ์ฝ˜
      • 18353 - ๋ณ‘์‚ฌ๋ฐฐ์น˜ํ•˜๊ธฐ
      • 18352-ํŠน์ •๊ฑฐ๋ฆฌ์˜๋„์‹œ์ฐพ๊ธฐ
      • 12100-2048
      • N-Queen
      • 3190-๋ฑ€
      • 11724
    • programmers
      • ์˜์–ด๋๋ง์ž‡๊ธฐ
      • ๊ธฐ๋‘ฅ๊ณผ ๋ณด
      • H - index
      • ์ •์ˆ˜์‚ผ๊ฐํ˜•
      • 2018 KAKAO BLIND RECRUITMENT - ์••์ถ•
      • ์‚ผ๊ฐ๋‹ฌํŒฝ์ด
      • ๊ฑฐ์Šค๋ฆ„๋ˆ
      • [1์ฐจ] ์…”ํ‹€๋ฒ„์Šค
    • data_structure
      • Queue
      • Graph
      • Stack
      • Hash table
    • implementation
      • dynamic_programming
      • sort
      • Least common multiple
      • dfs
      • dijkstra
      • bfs
      • binary_search
    • aps
      • notes
    • modules
  • python
    • requirements.txt
    • Jupyter notebook
    • 00_๋“ค์–ด๊ฐ€๊ธฐ ์ „์—
    • Python Virtual Environment
    • Python Syntax
  • django
    • Class Based View in Django
    • Model in Django
    • URL Name
    • Form and ModelForm
    • Authentication
    • Tips & Tricks
    • Optimization
    • Request and Response Objects
    • Templates
    • Variable Routing & DTL
    • Django REST API with JSON web token (JWT)
    • Intro to Django
    • Django REST Framework
    • Wrap-up
    • Image Upload
  • javascript
    • Ajax (Asynchronous Javascript And XML)
    • Document Object Model
    • Java Script 101
    • ES (ECMAscript)
  • java
    • Java 101
  • aws
    • beginning_cloud_computing_with_aws
      • 02 AWS ์ฃผ์š” ์„œ๋น„์Šค ์ดํ•ดํ•˜๊ธฐ
      • 01 ์•„๋งˆ์กด ์›น ์„œ๋น„์Šค Cloud ๊ฐœ์š”
  • programming
    • Communication
    • CS_์šฉ์–ด์‚ฌ์ „
  • vue.js
    • 01_Vue.js_Intro
  • data_science
    • 01_๋ฐ์ดํ„ฐ์—์„œ์ธ์‚ฌ์ดํŠธ๋ฐœ๊ฒฌํ•˜๊ธฐ
    • pandas
    • 04_๋ฐ์ดํ„ฐ๋ถ„๋ฅ˜๋ชจ๋ธ
    • 02_ํ…์ŠคํŠธ๋งˆ์ด๋‹์ฒซ๊ฑธ์Œ
    • 05_์ข…ํ•ฉ์˜ˆ์ œ
    • 03_๋ฏธ๋ž˜๋ฅผ์˜ˆ์ธกํ•˜๋Š”๋ฐ์ดํ„ฐ๋ถ„์„
    • Statistics
      • ๋ชจ์ˆ˜์™€ ์ถ”์ •๋Ÿ‰
    • ํ†ต๊ณ„ํ•™๋…ธํŠธ
  • linux
    • Linux Commands
  • ide
    • VScode
    • Pycharm
  • html,css
    • HTML 101
    • CSS 101
  • colab
    • colab_101
  • ์˜์‚ฌ๊ฒฐ์ •๋‚˜๋ฌด๋ฐ๋ชจํ˜•๋น„๊ต
Powered by GitBook
On this page

Was this helpful?

  1. algorithm
  2. BOJ

3190-๋ฑ€

PreviousN-QueenNext11724

Last updated 4 years ago

Was this helpful?

  1. ( x, y ) ๋Š” ํ˜„์žฌ ๋จธ๋ฆฌ์˜ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

  2. ๋งค์ดˆ๋งˆ๋‹ค d ( ๋ฐฉํ–ฅ ) ์ด ๋ณ€ํ•˜๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๊ณ  ์ƒํ™ฉ์— ๋งž๊ฒŒ ์ ์šฉํ•ด์ค๋‹ˆ๋‹ค.

  3. ( nx, ny ) ๋Š” ๋‹ค์Œ ๋จธ๋ฆฌ๊ฐ€ ์œ„์น˜ํ•  ๊ณณ์ž…๋‹ˆ๋‹ค.

  4. q ๋Š” ํ˜„์žฌ ๋ฑ€์˜ ๋ชธ์ด ์กด์žฌํ•˜๋Š” ์œ„์น˜๋“ค์ž…๋‹ˆ๋‹ค.

  5. ๋งค์ดˆ๋งˆ๋‹ค ( nx, ny ) ์— ์ž์‹ ์˜ ๋ชธ์ด ์žˆ๊ฑฐ๋‚˜ ๋ฒฝ์ด๋ผ๋ฉด ์‹œ๊ฐ„์„ ์ถœ๋ ฅํ•˜๊ณ  ๋งˆ์นฉ๋‹ˆ๋‹ค.

  6. ( nx, ny ) ์— ์•„๋ฌด๊ฒƒ๋„ ์—†๋‹ค๋ฉด, q ๋ฅผ ์„ ์ž…์„ ์ถœํ•ด์ค๋‹ˆ๋‹ค.

  7. ( nx, ny ) ์— ์‚ฌ๊ณผ๊ฐ€ ์žˆ๋‹ค๋ฉด, q ๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

import sys


def solution(n):
    time = 0
    y, x = 0, 0
    q = [(0, 0)]
    dy = [0, 1, 0, -1]
    dx = [1, 0, -1, 0]
    d = 0

    while True:
        # ๋ฐฉํ–ฅ ์„ค์ •
        for plan in dir_plan:
            if time == plan[0]:
                if plan[1] == 'D':
                    d = (d + 1) % 4
                else:
                    d = (d - 1) % 4

        # ๋‹ค์Œ ๋จธ๋ฆฌ ์œ„์น˜ ์„ค์ •
        ny = y + dy[d]
        nx = x + dx[d]

        # ๋‹ค์Œ ๋จธ๋ฆฌ๊ฐ€ ๋ชธ์ด๋‚˜ ๋ฒฝ์ด๋ผ๋ฉด time + 1 ์ถœ๋ ฅ
        if (ny,nx) in q or ny < 0 or ny >= n or nx < 0 or nx >= n:
            return print(time + 1)

        # ๋‹ค์Œ ๋จธ๋ฆฌ๊ฐ€ ์‚ฌ๊ณผ๋ฉด ์ž์ทจ์— ์ถ”๊ฐ€๋งŒ ์ง„ํ–‰
        elif arr[ny][nx] == 'apple':
            arr[ny][nx] = 0
            q.append((ny,nx))

        # ๋‹ค์Œ ๋จธ๋ฆฌ์— ์•„๋ฌด๊ฒƒ๋„ ์—†์œผ๋ฉด ์ž์ทจ์— ๋ชธ ์ถ”๊ฐ€ ํ•˜๊ณ  ๊ผฌ๋ฆฌ๋Š” ๋นผ์ž
        else:
            q.append((ny,nx))
            q.pop(0)

        # ์‹œ๊ฐ„ ์œ„์น˜ ์—…๋ฐ์ดํŠธ
        time += 1
        y = ny
        x = nx


n = int(input())
arr = [[0] * n for _ in range(n)]

k = int(input())
apples = [list(map(int,sys.stdin.readline().split())) for _ in range(k)]
for apple in apples:
    arr[apple[0] - 1][apple[1] - 1] = 'apple'

l = int(input())
dir_plan = [list(sys.stdin.readline().split()) for _ in range(l)]
for v in dir_plan:
    v[0] = int(v[0])

solution(n)
https://www.acmicpc.net/problem/3190