[백준] 15787 기차가 어둠을 헤치고 은하수를 Python

2022. 11. 11. 12:38·Algorithm (PS)
728x90

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

 

15787번: 기차가 어둠을 헤치고 은하수를

입력의 첫째 줄에 기차의 수 N(1 ≤ N ≤ 100000)과 명령의 수 M(1 ≤ M ≤ 100000)가 주어진다. 이후 두 번째 줄부터 M+1번째 줄까지 각 줄에 명령이 주어진다. 

www.acmicpc.net

구현문제이다 실버 2.. 

하라는대로 명령처리를 해준다음에 기차를 for문을 통해서 하나씩 string으로 만들고, 이전에 등장했는지 count해준다 

3번명령 4번명령을 처음에는 for문으로 구현하다가 생각해보니까 문자열슬라이싱을 쓰는 것이 파이썬이기도 하고 더 빠를것 같아서 개선했다

놀랍게도 pypy python 모두 통과한다 ㅋㅋ (파이썬은 조금 힘겹게 통과하긴함 ㅎ)

n, m = map(int, input().split())
trains = [[0] * 20 for _ in range(n)] # 0 : 빈자리, 1: 승객 o
patterns = []
answer = 0
for _ in range(m):
    data = list(map(int, input().split()))
    if data[0] == 1:
        i, j = data[1], data[2]
        if trains[i-1][j-1] == 0:
            trains[i-1][j-1] = 1
    elif data[0] == 2:
        i, j = data[1], data[2]
        if trains[i-1][j-1] == 1:
            trains[i-1][j-1] = 0
    elif data[0] == 3:
        i = data[1]-1
        trains[i] = [0] + trains[i][:19]
    elif data[0] == 4: # 4 앞으로 한칸
        i = data[1]-1
        trains[i] = trains[i][1:]+[0]

# 패턴 확인

for i in range(n):
    train = str(trains[i])
    if train not in patterns:
        answer += 1
        patterns.append(train)
    else:
        continue

print(answer)

728x90

'Algorithm (PS)' 카테고리의 다른 글

[백준] 2294 동전 2 Python (DP문제)  (0) 2022.11.12
[프로그래머스] 행렬 테두리 회전하기 Python  (0) 2022.11.11
[백준] 21278번 호석이 두 마리 치킨 Python (BFS풀이, 플로이드워셜)  (0) 2022.11.09
[프로그래머스] 여행경로 Python (파이썬)  (0) 2022.11.09
[백준] 15927 파이썬 - 회문은 회문아니야!!  (0) 2022.11.05
'Algorithm (PS)' 카테고리의 다른 글
  • [백준] 2294 동전 2 Python (DP문제)
  • [프로그래머스] 행렬 테두리 회전하기 Python
  • [백준] 21278번 호석이 두 마리 치킨 Python (BFS풀이, 플로이드워셜)
  • [프로그래머스] 여행경로 Python (파이썬)
minjiwoo
minjiwoo
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.
minjiwoo
minji's engineering note
minjiwoo
전체
오늘
어제
  • 분류 전체보기 (613)
    • Data Engineering (42)
      • Apache Spark (11)
      • Databricks & Delta Lake (9)
      • Airflow (3)
      • SQL (6)
      • Trouble Shooting (2)
      • Hadoop (2)
      • MLOps (1)
    • Cloud Engineering (104)
      • AWS (23)
      • Linux 🐧 (29)
      • Docker 🐳 (21)
      • Kubernetes ⚙️ (20)
      • Ansible (10)
    • Computer Science (87)
      • 네트워크 (9)
      • 운영체제 (25)
      • 정보처리기사 (48)
      • CS 기술 면접 스터디 (3)
    • Programming Languages (27)
      • Python (17)
      • C와 C++ (10)
    • Backend (5)
      • Django (2)
    • 프로젝트 (2)
      • 테크포임팩트 (2)
    • iOS (11)
      • 레이블러리 (2)
    • Algorithm (PS) (275)
      • LeetCode (6)
    • 개발일기 (30)
      • 내돈내산 후기🎮 (3)
      • 개발자 취준생 (5)
      • Today I Learned (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Hi there

인기 글

태그

  • 백준
  • Kubernetes
  • 운영체제
  • 카카오코딩테스트
  • ansible
  • docker
  • 빅데이터
  • 프로그래머스
  • dp
  • linux
  • 리눅스
  • 데이터브릭스
  • SPARK
  • EC2
  • Leetcode
  • dfs
  • 파이썬
  • 데이터엔지니어링
  • 알고리즘
  • AWS
  • 쿠버네티스
  • 백트래킹
  • 데이터엔지니어
  • Swift
  • BFS
  • 클라우드
  • 코딩테스트
  • python
  • 스파크
  • Databricks

최근 댓글

최근 글

hELLO· Designed By정상우.v4.5.2
minjiwoo
[백준] 15787 기차가 어둠을 헤치고 은하수를 Python
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.