[ 파이썬(Python) ] 나머지(%) 사용할 때 조건 추가하기
📍 나머지(%) 사용할 때 조건 추가하기 저번에 풀었던 boj 1009 - 분산처리 문제와 이것과 비슷했던문제인 boj 10250 - ACM 호텔 역시 동일하게 나머지(%)를 사용하면 나머지 조건을 추가해줘야 한다. 예를 들어, arr = [-3333, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ...] 처럼 표현하고 싶다면 (arr[1]부터 세기 위해 arr[0]에 -3333을 넣었다.) 해당 패턴은 index의 값은 10으로 나눈 나머지가 될 것이다. 하지만 단순하게 나머지 값만 추가하면 arr[10]은 10이 아니라 0이 된다. 이 때문에 나머지를 사용해서 수를 셀 때는 나머지 조건을 붙여줘야 한다. 다음 코드처럼 말이다. index..
2021. 6. 7.
[ 파이썬(Python) ] 함수(def)에서 return 인자의 수가 다를 때
📍 함수(def)에서 return 인자의 수가 다를 때 코딩 테스트 문제를 풀다 보면 False일때 -1만 return 시키고 True면 a, b처럼 1개 이상을 return해야 할 때 다음과 같이 작성할 수 있다. 만약, a+b값이 20을 넘으면 a, b을 리턴해야하고, 아니면 -1을 리턴해야한다면 다음과 같은 코드가 될 것이다. a, b = map(int, input().split()) def check(): if a + b >= 20: return a, b else: return -1 print(check()) 하지만, -1의 리턴값에 임의의 수 0을 넣고 똑같이 2개를 리턴하게 작성한 다음 첫 번째 값이 -1이면 -1을 출력시키고 아니면 c, d를 출력하게 할 수 있다. a, b = map(int..
2021. 6. 7.
[ 파이썬(Python) ] 0과 1만있는 값에서 상태 변화하기
📍 0과 1만 있는 값에서 상태 변화하기 0: 스위치가 꺼져있는 상태 1: 스위치가 켜져있는 상태 index가 3의 배수인 자리면, 0일 때는 1로, 1일 때는 0으로 변경하는 코드를 작성하라. (arr은 1부터 센다.) n = 10 target = 3 arr = [-3333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] for i in range(target, n + 2, 3): arr[i] = (arr[i] + 1) % 2 print(arr[1:]) 👉🏽 [0, 0, 1, 0, 0, 1, 0, 0, 1, 0] 1부터 n까지 i번째 배수마다 상태를 변화하는 코드 for i in range(1, n + 1): for j in range(i, n + 1, i): gate[j] = (gate[j] ..
2021. 5. 31.