코테분석#6 예외처리

정은경·2020년 3월 15일
0

알고리즘

목록 보기
16/125

예외처리

  • 예외처리, 상태를 어떻겍 나타낼까?

조건문과 반복문

  • 코테에 자주되는 문제유형:
    * 예) 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 처리
  • 예제는 테스트한다
  • 최소 케이스는 테스트한다
  • 예외 케이스트 테스트한다
  • 램던 케이스를 작성하여 테스트한다
profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글