예외처리
조건문과 반복문
- 코테에 자주되는 문제유형:
* 예) bfs, dfs, 전수조사, 하드한 조건문/반복문
문제가 준 까다로운 조건
- 예) 이때 이걸 하고, 이건 이렇게 하지 마세요
Case by Case (문제 by 문제)
1. 논리연 연산자/비트 연산자 활용하기
- 중복되지 않게 짜자!
- 조건문의 깊이를 깊게짜지 말자!
## 수정 전
a, b = 10, 20
if a > b:
if a % 10 == 0:
print(a)
## 수정 후
a, b = 10, 20
if a > b and a % 10 == 0:
print(a)
- 논리연산자: and, or, not
- 비트연산자 : <<, &, |, ^
1 << 2
2. 상태를 나타내는 자료 활용하기
- 어떤 수(N)가 소수인지 아닌지 알아보는 함수 구하기
N = 71
ck = False
for i in range(71):
if N % 1 == 0:
print("Not Prime")
ck = True
break
if not ck:
print("Prime")
3. 나눠서 진행하기
def isPrime(N):
for i in range(2,N):
if N % i == 0:
return False
return True
for N in range(10, 100):
if isPrime(N):
print("{} is Prime".format(N))
else:
print("Not Prime")
def isRange(a, b, N, M):
return 0 <= a < N and 0 <= b < M
4. 여러 자료구조와 메서드, 함수 활용하기
## 수정 전
for idx in S:
if S[idx] != S[len(S)-idx-1]:
print("Not Plain")
## 수정 후
S = "hello"
if S == S[::-1]:
print("isPlain")
def isUnique(list):
return len(list) == len(set(list))
5. 미리 처리한 케이스와 처리할 케이스 정리하기
# 1. 예제 케이스
# 2. 조건 A 처리
# 3. 조건 B 처리
# 4. 조건 AB 처리
- 예제는 테스트한다
- 최소 케이스는 테스트한다
- 예외 케이스트 테스트한다
- 램던 케이스를 작성하여 테스트한다