황찌옹
정리왕옹옹
황찌옹
GitHub Contribution
Loading data ...
  • 분류 전체보기 (158)
    • [ 알고리즘 ] (96)
      • Implementation (24)
      • Brute Force (6)
      • String (4)
      • Greedy (14)
      • DFS, BFS (13)
      • Back Tracking (4)
      • Sort & Binary Search (6)
      • DP (8)
      • Shortest Path (5)
      • Hash (3)
      • Stack, Queue (4)
      • Heap (1)
      • Tree (1)
      • Mathematics (1)
      • Ad-Hoc (1)
      • 기타 (COS Pro, etc) (1)
    • [ 언어 및 문법 ] (23)
      • Python (5)
      • C, C++ (13)
      • SQL (1)
      • 공통 개념(CS) (4)
    • [ Error ] (21)
      • Radiomics Feature Extraction (6)
      • CT Skin Segmentation (12)
      • etc (3)
    • [ Git ] (7)
    • [ 환경 설정 및 기타] (6)
    • [ 공부 ] (2)
      • AI, ML (0)
      • Computer Vision (0)
      • Image Processing (1)
      • QT (0)
      • AWS (1)
      • 의료 (0)
    • [ 포트폴리오 ] (1)
      • 🙋‍♀️자기 소개🙋‍♀️ (1)
      • 프로젝트 (0)
      • 공모전 (0)
      • 자격증 (0)
      • 대내외활동 (0)
      • 논문 (0)
      • 교육 봉사 (0)
    • [ 취준 ] (2)
      • 채용 설명회, 직무 상담 (1)
      • 취준 후기 (1)

블로그 메뉴

  • ❤️깃허브❤️

인기 글

태그

  • 씹어먹는C++
  • cos pro
  • pyplot
  • 모두의코드
  • QT
  • Visual Studio
  • Anaconda
  • aws
  • SQL
  • OpenCV
  • config
  • tensorflow
  • Cloud
  • cs
  • Python
  • numpy
  • git
  • keras
  • c++
  • configuration

최근 댓글

최근 글

전체 방문자
오늘
어제
hELLO · Designed By 정상우.
황찌옹

정리왕옹옹

[백준] 20918. 전구
[ 알고리즘 ]/Implementation

[백준] 20918. 전구

2022. 8. 1. 23:54

 

📌문제

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

 

21918번: 전구

$N$개의 전구가 있고 맨 왼쪽에 있는 전구를 첫 번째라고 하자. 전구의 상태는 두 가지가 있으며 이를 숫자로 표현한다. $1$은 전구가 켜져 있는 상태를 의미하고, $0$은 전구가 꺼져 있는 상태를

www.acmicpc.net

 

🎖️난이도

 

✔️풀이

n, m = map(int, input().split())
s_list = list(map(int, input().split()))

for _ in range(m):
    a, b, c = map(int, input().split())
    if a == 1:
        s_list[b-1] = c
    elif a == 2:
        s_list[b-1:c] = [(s_list[i]+1)%2 for i in range(b-1, c)]
    elif a == 3:
        s_list[b-1:c] = [0] * (c-b+1)
    else:
        s_list[b-1:c] = [1] * (c-b+1)
        
print(*s_list)

 

🧠노트

파이썬에는 switch-case문이 없으므로, 그냥 싹 다 if~elif~else문으로 명령어 구현해주면 된다.

출력 시에는 Asterisk(*, 별표)를 이용한 Unpacking으로 출력해주면 된다. (공백 포함 한 줄 출력)

cf. print(' '.join(list)) 와 동일 

 

🔍참고

- 

 

'[ 알고리즘 ] > Implementation' 카테고리의 다른 글

[백준] 14467. 소가 길을 건너간 이유  (0) 2022.08.02
[백준] 12933. 오리  (0) 2022.08.02
[백준] 20546. 기적의 매매법  (0) 2022.08.01
[백준] 2443. 별 찍기 - 6  (0) 2022.06.30
[백준] 2442. 별 찍기 - 5  (0) 2022.06.30
    황찌옹
    황찌옹
    다 정리해버리꺼야

    티스토리툴바