[ 2023-06-21 ๐Ÿง„ TIL ]

Burkeyยท2023๋…„ 6์›” 21์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
103/157

๋ฐฑ์ค€ 2164๋ฒˆ, 1920๋ฒˆ ํŒŒ์ด์ฌ

2164๋ฒˆ


๋ฌธ์ œ


์ฝ”๋“œ

import sys
from collections import deque

input = sys.stdin.readline
n = int(input())
n_li = deque([i for i in range(1, n+1)])

while n > 1:
  n -= 1
  n_li.popleft() # .popleft() ๋งจ ์™ผ์ชฝ ๊ฐ’ ์‚ญ์ œ ํ›„ ๊ทธ ๊ฐ’ ๋ฆฌํ„ด
  n_li.append(n_li.popleft()) # ์•ž์—์„œ ๋‘๋ฒˆ์งธ ๊ฐ’์„ ๋’ค์— ๋„ฃ์–ด์คŒ
  
  
print(n_li[0])

1920๋ฒˆ


๋ฌธ์ œ


์ฝ”๋“œ

1. ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์ด์šฉํ•œ ํ’€์ด

import sys

input = sys.stdin.readline
n_dict = {}
n = int(input())
n_li = list(map(int, input().split()))
n_dict = {}
m = int(input())
m_li = list(map(int, input().split()))

for i in range(n):
  n_dict[n_li[i]] = 1 # ์กด์žฌํ•˜๋Š” ์ •์ˆ˜๋ฅผ ํ‚ค ๊ฐ’์œผ๋กœ ์„ ์–ธ
  
for i in range(m):
  if m_li[i] in n_dict: # ํ•ด๋‹น ์ •์ˆ˜ ๊ฐ’์ด ํ‚ค ๊ฐ’์œผ๋กœ ์žˆ์œผ๋ฉด 1, ์•„๋‹˜ 0
    print(n_dict[m_li[i]])
  else:
    print(0)

์ด๋ถ„ ํƒ์ƒ‰

import sys

input = sys.stdin.readline
n_dict = {}
n = int(input())
n_li = list(map(int, input().split()))
n_li.sort()

m = int(input())
m_li = list(map(int, input().split()))

for i in range(m):
  left, right = 0, n - 1
  value = 0
  while left <= right:
    mid = (left + right) // 2
    
    if n_li[mid] > m_li[i]: 
    # m_li[i]์˜ ์ฐพ๋Š” ๋ฒ”์œ„๋ฅผ ์ค‘๊ฐ„๋ฏธ๋งŒ์œผ๋กœ ์„ค์ •
      right = mid - 1
    elif n_li[mid] < m_li[i]:
    # m_li[i]์˜ ์ฐพ๋Š” ๋ฒ”์œ„๋ฅผ ์ค‘๊ฐ„๋ฒ”์œ„ ๋„˜์–ด๋กœ ์„ค์ •
      left = mid + 1
    else :
      value = 1 # ๊ฐ’์„ ์ฐพ์œผ๋ฉด ๋น ์ ธ๋‚˜์˜ค๊ธฐ
      break 
  
  print(value) 
  # ๊ธฐ๋ณธ ๊ฐ’์ด 0์ด๋ผ 1๋กœ ๋ณ€๊ฒฝ๋˜๋Š” ์ฝ”๋“œ๋ฅผ ๋งŒ๋‚˜์ง€ ์•Š์œผ๋ฉด ์ž๋™ 0์ด ๋‚˜์˜ด

์ด๋ถ„ ํƒ์ƒ‰์€ ์ดํ›„์— ๋‹ค๋ฅธ ํ’€์ด๊ณผ์ •์„ ์ฐพ๋‹ค๊ฐ€ ์•Œ๊ฒŒ๋˜์–ด ํ•ด๊ฒฐํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์ด์šฉํ•œ ๋ฐฉ๋ฒ• ๋ง๊ณ ๋„ set์„ ์ด์šฉํ•˜์—ฌ์„œ๋„ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€