기출

    [python] 백준 - 3190. 뱀 (삼성 SW 역량 테스트 기출 문제)

    [python] 백준 - 3190. 뱀 (삼성 SW 역량 테스트 기출 문제)

    🤔문제 해결 G5 | deque, 시뮬레이션 deque 를 이용하여 뱀을 만든다. deque의 앞쪽은 꼬리, deque의 뒷쪽은 머리 (반대로 해도 상관없음) 머리를 방향에 따라 한칸 늘린다.(deque에 머리 추가: append()) 벽에 부딪히지 않고, 뱀의 몸통에 부딪히지 않으면 통과 이 때 머리의 위치에 사과가 있으면 통과 없으면 꼬리를 줄인다.( deque에서 꼬리를 제거: popleft()) 매초 세주면서 해당 초에 오더가 있으면 ( 방향 바꾸기 ) 진행 방향을 바꿔준다. 주의: 사과를 먹으면 맵에서 사과 지우기 💻소스 코드 from sys import stdin from collections import deque input = stdin.readline def move_snake(direc..

    [python] 백준 - 16234. 인구 이동(삼성 SW 역량 테스트 기출 문제)

    [python] 백준 - 16234. 인구 이동(삼성 SW 역량 테스트 기출 문제)

    🤔문제 해결 G5 | 시뮬레이션, BFS 1. 연합을 찾는다. 현재위치와 인접한 위치의 값의 차이가 조건에 맞으면 연합리스트에 넣어줬다. (BFS) 2. 만약 연합이 없으면 끝 3. 연합이 있으면 연합 내에서 인구 이동을 한다. 연합의 모든 인구의 평균값으로 바꿔준다. 4. (1,2,3)을 반복한다. while문으로 2번이 나올때까지 돌린다. 💨 시간초과가 나서 pypy로 돌렸더니 통과!!! 파이썬은 항상 느려서 이젠 그러려니 한다. 아니면 뭔가 더 좋은 방법이 있는 것 같다. 찾아보니 인접리스트를 활용해서 하는 방법도 있지만.... 나중에 도전해보겠다. 💻소스 코드 from _collections import deque def move_population(union_list): for union in ..