[BOJ/๋ฐฑ์ค€] 14891 ํ†ฑ๋‹ˆ๋ฐ”ํ€ด - ํŒŒ์ด์ฌ

2021. 9. 15. 21:39ยท๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜/PS

๋ฌธ์ œ

https://www.acmicpc.net/problem/14891

 

14891๋ฒˆ: ํ†ฑ๋‹ˆ๋ฐ”ํ€ด

์ด 8๊ฐœ์˜ ํ†ฑ๋‹ˆ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ†ฑ๋‹ˆ๋ฐ”ํ€ด 4๊ฐœ๊ฐ€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ผ๋ ฌ๋กœ ๋†“์—ฌ์ ธ ์žˆ๋‹ค. ๋˜, ํ†ฑ๋‹ˆ๋Š” N๊ทน ๋˜๋Š” S๊ทน ์ค‘ ํ•˜๋‚˜๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ  ์žˆ๋‹ค. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด์—๋Š” ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๋Š”๋ฐ, ๊ฐ€์žฅ ์™ผ์ชฝ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด

www.acmicpc.net

 

๋ฌธ์ œํ’€์ด

n๋ฒˆ ๋ฐ”ํ€ด์˜ 2๋ฒˆ index๋Š” n+1๋ฒˆ ๋ฐ”ํ€ด์˜ 6๋ฒˆ index์™€ ์ธ์ ‘ํ•˜๊ณ 

n๋ฒˆ ๋ฐ”ํ€ด์˜ 6๋ฒˆ index๋Š” n-1๋ฒˆ ๋ฐ”ํ€ด์˜ 2๋ฒˆ index์™€ ์ธ์ ‘ํ•œ๋‹ค.

 

์ด ๋‘ ๊ฐ’์„ ๋จผ์ € update ํ•œ ํ›„์—,

a๋ฒˆ์„ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ/์˜ค๋ฅธ์ชฝ์œผ๋กœ 2๊ฐœ์˜ for๋ฌธ์„ ํ†ตํ•ด ๋‚˜๋จธ์ง€ ๋ฐ”ํ€ด๋“ค์„ ํƒ์ƒ‰ํ•œ๋‹ค.

a๋ฒˆ๊ณผ ๋ฐ”๋กœ ์ธ์ ‘ํ•œ ๋ฐ”ํ€ด์˜ ๊ฒฝ์šฐ, a๋ฒˆ๊ณผ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ๋Œ์•„๊ฐ€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—

b์— -1์„ ๊ณฑํ•ด์ค€ ๊ฐ’์„, ๊ทธ ๋‹ค์Œ ๋ฐ”ํ€ด๋Š” ๋˜ ๋‹ค์‹œ -1์„ ๊ณฑํ•œ b ๊ฐ’์„ ์—ฐ์‚ฐํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.

deque์— ํฌํ•จ๋œ rotate ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด index ๋ณ€ํ™˜์„ ๋” ์‰ฝ๊ฒŒ ํ•ด์ฃผ์—ˆ๋‹ค.

 

  • rotate ์—ฐ์‚ฐ

   rotate() : ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ๊ฐ’์„ pop ํ•œ ๋’ค์— appendleft๋กœ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.
               ๊ด„ํ˜ธ ์•ˆ์— ์ธ์ž๊ฐ€ ๋“ค์–ด๊ฐ€๋ฉด ๊ทธ ๊ฐ’๋งŒํผ ์ด๋™
               -๊ฐ’์ด ๋“ค์–ด๊ฐ€๋ฉด ๊ฐ€์žฅ ์™ผ์ชฝ ๊ฐ’์„ popleft ํ•œ ํ›„์— append ํ•ด์ค€๋‹ค.

 

 

์ฝ”๋“œ

from collections import deque
โ€‹
saw=[deque(map(int,input())) for _ in range(4)]
k=int(input())
how=[]
โ€‹
for i in range(k):
    how.append(list(map(int,input().split())))
    how[i][0]-=1
โ€‹
for a,b in how:
    tmp1=saw[a][2]
    tmp2=saw[a][6]
    k=b
    for i in range(a-1,0-1,-1):
        if saw[i][2]!=tmp2:
            tmp2=saw[i][6]
            saw[i].rotate(-1*k)
            k*=-1
        else:
            break
    k=b
    for i in range(a+1,4):
        if saw[i][6]!=tmp1:
            tmp1=saw[i][2]
            saw[i].rotate(-1*k)
            k*=-1
        else:
            break
    
    saw[a].rotate(b)
result=0
for i in range(4):
    if saw[i][0]==1:
        result+=(2**i)
print(result)

 

์–ด๋ ค์› ๋˜ ์  / ๋А๋‚€์ 

์ฒ˜์Œ์—๋Š” rotate ๋Œ€์‹  ํ•จ์ˆ˜๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•˜์—ฌ ์‹คํ–‰ํ–ˆ๋‹ค. ์˜ˆ์‹œ๋Š” ๋‹ค ํ†ต๊ณผํ•˜๊ธธ๋ž˜ ์ œ์ถœํ–ˆ๋Š”๋ฐ ์ œ์ถœํ•˜์ž๋งˆ์ž ํ‹€๋ ธ๋‹ค.

๊ตฌ๊ธ€๋งํ•˜๋‹ค๊ฐ€ rotate ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌ!!

 

'๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜ > PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BOJ/๋ฐฑ์ค€] 19538 ๋ฃจ๋จธ - ํŒŒ์ด์ฌ  (0) 2021.09.17
[BOJ/๋ฐฑ์ค€] 1074 Z - ํŒŒ์ด์ฌ  (0) 2021.09.17
[BOJ/๋ฐฑ์ค€] 13302 ๋ฆฌ์กฐํŠธ - ํŒŒ์ด์ฌ  (0) 2021.08.25
[BOJ/๋ฐฑ์ค€] 20923 ์ˆซ์ž ํ• ๋ฆฌ๊ฐˆ๋ฆฌ ๊ฒŒ์ž„ - ํŒŒ์ด์ฌ  (0) 2021.08.24
[BOJ/๋ฐฑ์ค€] 17396 ๋ฐฑ๋„์–ด - ํŒŒ์ด์ฌ  (0) 2021.08.23
'๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜/PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [BOJ/๋ฐฑ์ค€] 19538 ๋ฃจ๋จธ - ํŒŒ์ด์ฌ
  • [BOJ/๋ฐฑ์ค€] 1074 Z - ํŒŒ์ด์ฌ
  • [BOJ/๋ฐฑ์ค€] 13302 ๋ฆฌ์กฐํŠธ - ํŒŒ์ด์ฌ
  • [BOJ/๋ฐฑ์ค€] 20923 ์ˆซ์ž ํ• ๋ฆฌ๊ฐˆ๋ฆฌ ๊ฒŒ์ž„ - ํŒŒ์ด์ฌ
.๋ฐ.
.๋ฐ.
  • .๋ฐ.
    Do IT
    .๋ฐ.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • All (40)
      • ๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜ (21)
        • PS (16)
        • SQL (4)
        • ์ด๋ก  (5)
      • ๐ŸŽˆcapstone (2)
      • ๐Ÿ’ชBackend (12)
        • Django (8)
        • Spring (4)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ๋ฌธ์ œํ’€์ด
    ์žฌ๊ท€
    responsecustomclass
    PS
    ETL
    python
    MYSQL
    SQL
    ์ฝ”ํ…Œ
    BFS
    ์‘๋‹ตํ˜•์‹
    Django
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    Batch
    ์Šคํ”„๋ง๋ฐฐ์น˜
    BOJ
    apiresponse
    resposneentity
    windowํ•จ์ˆ˜
    ๋ฐฑ์ค€
    ์ž๋ฐ”
    ํŒŒ์ด์ฌ
    ์„œ๋ธŒ์ฟผ๋ฆฌ
    crud
    springscheduler
    ์Šค์ผ€์ค„๋Ÿฌ
    programmers
    ๋‹ค์ค‘์กฐ์ธ
    bruteforce
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
.๋ฐ.
[BOJ/๋ฐฑ์ค€] 14891 ํ†ฑ๋‹ˆ๋ฐ”ํ€ด - ํŒŒ์ด์ฌ
์ƒ๋‹จ์œผ๋กœ

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