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
Algorithm Problem/Python

[python] ๋ฐฑ์ค€ - 1347. ๋ฏธ๋กœ ๋งŒ๋“ค๊ธฐ

[python] ๋ฐฑ์ค€ - 1347. ๋ฏธ๋กœ ๋งŒ๋“ค๊ธฐ
Algorithm Problem/Python

[python] ๋ฐฑ์ค€ - 1347. ๋ฏธ๋กœ ๋งŒ๋“ค๊ธฐ

2021. 9. 14. 22:24
๋ฐ˜์‘ํ˜•

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

  • ๊ตฌํ˜„
  1. ์ขŒํ‘œ๋ฅผ ๋จผ์ € ๊ตฌํ•˜์ž.
  2. (0, 0) ์—์„œ ์‹œ์ž‘ํ•ด์„œ ์ œ์‹œ๋œ ํ–‰๋™๋Œ€๋กœ ์ขŒํ‘œ๋กœ ๋‹ด์•„์ค€๋‹ค.
  3. x์ขŒํ‘œ, y์ขŒํ‘œ ๊ฐ๊ฐ์˜ ์ตœ์†Œ์™€ ์ตœ๋Œ€๋ฅผ ๊ตฌํ•œ๋‹ค.
  4. ๋ชจ๋“  ์ขŒํ‘œ๋“ค์— ๋Œ€ํ•ด์„œ ์ตœ์†Œ๊ฐ’์„ ๋”ํ•ด์ค€๋‹ค. ( ์Œ์ˆ˜๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์–‘์ˆ˜๋กœ ๋ฐ”๊ฟ”์ฃผ๊ธฐ ์œ„ํ•ด์„œ )
  5. ์ตœ๋Œ€ ์ตœ์†Œ๋กœ 2์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ , ๊ตฌํ•œ ์ขŒํ‘œ๋กœ ๊ธธ์„ ๋งŒ๋“ค์–ด์ค€๋‹ค.

 

 

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

import sys

input = sys.stdin.readline

N = int(input())
action = input().strip()

# 0,0 ๋ถ€ํ„ฐ ์ขŒํ‘œ ๊ตฌํ•˜๊ธฐ
loc_list = [(0, 0)] 
dx, dy = [-1, 0, 1, 0], [0, 1, 0, -1]  # ์ƒ ์šฐ ํ•˜ ์ขŒ/ ๋ถ ๋™ ๋‚จ ์„œ
status = 2
for a in action:
    if a == 'R':
        # ์˜ค๋ฅธ์ชฝ
        status = (status + 1) % 4
    elif a == 'L':
        # ์™ผ์ชฝ
        status = (status - 1) if status != 0 else 3
    else:
        x = loc_list[-1][0] + dx[status]
        y = loc_list[-1][1] + dy[status]
        loc_list.append((x, y))
        
# x, y ์˜ ์ตœ๋Œ€ ์ตœ์†Œ ๊ตฌํ•˜๊ธฐ
x_sort = sorted(loc_list, key=lambda x: x[0])
y_sort = sorted(loc_list, key=lambda x: x[1])
x_min, x_max = x_sort[0][0], x_sort[-1][0]
y_min, y_max = y_sort[0][1], y_sort[-1][1]

# 2์ฐจ์› ๋ฐฐ์—ด ๋งŒ๋“ค๊ธฐ
maze = [['#' for y in range(y_min, y_max + 1)] for x in range(x_min, x_max + 1)]

# ์Œ์ˆ˜๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ตœ์†Œ๊ฐ’๋งŒํผ ๋”ํ•ด์ฃผ๊ธฐ ( ์–‘์ˆ˜๋กœ ๋ฐ”๊พธ๊ธฐ )
for i in range(len(loc_list)):
    loc_list[i] = (loc_list[i][0] - x_min, loc_list[i][1] - y_min)

# ์ขŒํ‘œ๋กœ ๊ธธ ๋งŒ๋“ค๊ธฐ
for i, j in loc_list:
    maze[i][j] = '.'

# ๋‹ต
for row in maze:
    print(''.join(row))

 

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

์ถœ์ฒ˜: BACKJOON ONLINE JUDGE

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

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

[python] ๋ฐฑ์ค€ - 2485. ๊ฐ€๋กœ์ˆ˜  (0) 2021.09.16
[python] ๋ฐฑ์ค€ - 21608. ์ƒ์–ด ์ดˆ๋“ฑํ•™๊ต  (0) 2021.09.15
[python] ๋ฐฑ์ค€ - 12764. ์‹ธ์ง€๋ฐฉ์— ๊ฐ„ ์ค€ํ•˜  (0) 2021.09.11
[python] ๋ฐฑ์ค€ - 11085. ๊ตฐ์‚ฌ ์ด๋™  (0) 2021.09.10
[python] ๋ฐฑ์ค€ - 19598. ์ตœ์†Œ ํšŒ์˜์‹ค ๊ฐœ์ˆ˜  (0) 2021.09.09
  • ๐Ÿค”๋ฌธ์ œ ํ•ด๊ฒฐ
  • ๐Ÿ’ป์†Œ์Šค ์ฝ”๋“œ
  • ๐Ÿ“•๋ฌธ์ œ ํ™•์ธ
'Algorithm Problem/Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [python] ๋ฐฑ์ค€ - 2485. ๊ฐ€๋กœ์ˆ˜
  • [python] ๋ฐฑ์ค€ - 21608. ์ƒ์–ด ์ดˆ๋“ฑํ•™๊ต
  • [python] ๋ฐฑ์ค€ - 12764. ์‹ธ์ง€๋ฐฉ์— ๊ฐ„ ์ค€ํ•˜
  • [python] ๋ฐฑ์ค€ - 11085. ๊ตฐ์‚ฌ ์ด๋™
deo2kim
deo2kim
์ฝ”๋”ฉ ๊ธฐ๋กํ•˜๊ธฐ

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

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.