[Algorithm/Python][백준] 2164번 카드2

동글이·2022년 7월 8일
0

Algorithm

목록 보기
1/33

[BOJ] 2164번 카드2

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

- 파이썬 queue 사용하기!!!💛💛💛

  • 처음 짠 코드 => 시간초과!
import sys

N = int(sys.stdin.readline())
card=[]
card=list(range(1,N+1))
    
while len(card)!=1:
    card.pop(0)
    if len(card)==1:
        break
    a=card.pop(0)
    card.append(a)
    
print(card[0])
  • queue 이용해서 짠 코드 => 시간 단축!
from collections import deque

N=int(input())
deque=deque([i for i in range(1,N+1)])

while(len(deque)>1):
    deque.popleft()
    move=deque.popleft()
    deque.append(move)
    
print(deque[0])
  • 문제의 규칙을 찾아서 푼 풀이 => 더욱 단축!

input = int(input())
square = 2

while True:
    if (input == 1 or input == 2):
        print(input)
        break
    square *= 2
    if (square >= input):
        print((input - (square // 2)) * 2)
        break
출처: https://tooo1.tistory.com/88 [개발자 퉁이리:티스토리]

✔ 한 일 점검

  • 백준 or 프로그래머스 - 1문제 이상⭕
  • 스프링 - 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 끝내기❌
  • 파이썬 - 이코테 강의2❌
  • 빅데시 발표 대본 작성❌

✔ 내일 목표

  • 백준 or 프로그래머스 - 1문제 이상
  • 스프링 - 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 끝내기
  • 파이썬 - 이코테 강의2
  • 정처기 1단원 끝내기
  • 창액 환경설정 시작하기

✔ 주저리

profile
기죽지 않는 개발자

0개의 댓글