백준 2346. 풍선 터뜨리기

2023. 8. 20. 12:07·백준

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

 

2346번: 풍선 터뜨리기

1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선

www.acmicpc.net

n=int(input())
s=list(map(int,input().split()))
start=0
index=[x for x in range(1,n+1)]  # 인덱스 리스트 따로 만들어서 같이 처리
answer=[]

temp = s.pop(start)  # 시작 처리
answer.append(index.pop(start))

while s:  # s에 모든 수가 pop될까지
    if temp<0:  # 해당자리의 값이 음수이면
        start = (start+temp)%len(s)  # 파이썬에서는 음수%양수하면 (양수+음수)%양수 값이 나온다
    else:
        start=(start+temp-1)%len(s) # 원래에서 길이가 하나 줄었으니 -1 하고 바뀐 길이로 나누기
    temp = s.pop(start)  # 시작처리와 똑같은 과정
    answer.append(index.pop(start))
print(*answer)

위에서 enumerate 이용한 풀이

N = int(input())
nums = list(map(int,input().split()))
start = 0
lst = []
result = []
for i in enumerate(nums, start=1):
      lst.append(i)
temp = nums.pop(start)
result.append(lst[start][0])
lst.pop(start)

while nums:
      if temp < 0:
              start = (start+temp)%len(nums)
      else:
              start = (start+temp-1)%len(nums)
      temp = nums.pop(start)
      result.append(lst[start][0])
      lst.pop(start)

print(*result)

한바퀴 돌아서 새 인덱스를 찾을 때 -> 어렵다... 길이만큼 나눴을 때 나머지를 이용한다는 것은 암기하자

저작자표시 (새창열림)

'백준' 카테고리의 다른 글

백준 2669. 직사각형 네개의 합집합의 면적 구하기  (0) 2023.08.28
백준 1244. 스위치 켜고 끄기  (0) 2023.08.21
백준 1158번: 요세푸스 문제  (0) 2023.08.15
백준 2164번: 카드2  (0) 2023.08.15
백준 2941번: 크로아티아 알파벳  (0) 2023.07.29
'백준' 카테고리의 다른 글
  • 백준 2669. 직사각형 네개의 합집합의 면적 구하기
  • 백준 1244. 스위치 켜고 끄기
  • 백준 1158번: 요세푸스 문제
  • 백준 2164번: 카드2
버그잡는고양이발
버그잡는고양이발
주니어 개발자입니다!
  • 버그잡는고양이발
    지극히평범한개발블로그
    버그잡는고양이발
  • 전체
    오늘
    어제
    • 분류 전체보기 (382)
      • React (16)
      • Next.js (5)
      • Javascript (5)
      • Typescript (4)
      • Node.js (2)
      • Cs (16)
      • 트러블 슈팅 (5)
      • Html (1)
      • Css (3)
      • Django (0)
      • vue (0)
      • Java (2)
      • Python (0)
      • 독서 (1)
      • 기타 (3)
      • 백준 (192)
      • swea (31)
      • 프로그래머스 (30)
      • 이코테 (4)
      • 99클럽 코테 스터디 (30)
      • ssafy (31)
      • IT기사 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 인기 글

  • 태그

    개발자취업
    Til
    코딩테스트준비
    항해99
    99클럽
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
버그잡는고양이발
백준 2346. 풍선 터뜨리기
상단으로

티스토리툴바