본문 바로가기

카테고리 없음

백준 1244번 파이썬 :스위치 켜고 끄기

여자 조건이 까다롭다

//2로 범위를 나누어 푸는 방법이 있는데

https://blue-coding-story.tistory.com/125

 

[백준 1244- 스위치 켜고 끄기][파이썬]-24일차

https://www.acmicpc.net/problem/1244 문제 1부터 연속적으로 번호가 붙어있는 스위치들이 있다. 스위치는 켜져 있거나 꺼져있는 상태이다. 에 스위치 8개의 상태가 표시되어 있다. ‘1’은 스위치가 켜져

blue-coding-story.tistory.com

좋은 풀이여서 첨부하고 하나하나 뜯어봤다

 

그리고 if로 스위치 켜고 끄는거 노가다 구현하니 너무 길다

def 함수 적극 사용해야겠다

 

 

import sys
swNumber=int(sys.stdin.readline()) #스위치 개수
stList=[[]]
#스위치 상태
s=list(map(int,sys.stdin.readline().split()))

stNumber=int(sys.stdin.readline()) #학생수
for i in range(stNumber):
    a,b=map(int,sys.stdin.readline().split())
    stList.append([a,b]) #주의!

for i in range(swNumber): #스위치 상태 리스트 안의 스위치들
    for st in stList: #학생 리스트 안의 학생들
        gender=st[0]
        given=st[1]
        if gender==1: #남학생
            if given%(i+1) ==0: 
                if switches==0:
                   switches=1
                else:
                    switches=0
        else: #여학생
            if s[b-1]==0:
                s[b-1]=1
            else:
                s[b-1]=0