-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
엣지 케이스
- 빈 배열인 경우 (input으로 들어오는 배열의 범위를 확인해서 체크할지 여부 판단)
ex.배열의 길이를 가지고 확인해야하는 경우 - 빈 문자열인 경우
public String solution(String p) { if (p.isEmpty()) { return ""; }
- 값의 범위
- int를 넘어가는 경우 long으로 변환해줄 것
ex.각 요소의 범위가 정수 최소 ~ 최대 이므로 더했을 경우 long 형으로 처리해야 함 - 문제조건 확인
ex.지나가는 자동차 쌍의 수가 1,000,000,000을 초과하면 -1을 반환
- int를 넘어가는 경우 long으로 변환해줄 것
- 배열의 요소 n개를 비교해야한다. → input 배열의 길이가 n개 미만일 경우 처리 필요
if (A.length < 3) { return 0; }
- 값의 경계
ex. 절댓값을 비교해야하는 경우,최솟값(음수의 최댓값) → 절댓값으로 변환할 때, overflow 조심. 따로 확인해야한다. - 곱셈과 덧셈을 비교해서 선정해야하는 경우 21.02.23 [백준] 1744 수 묶기 #150
"1과 2는 곱하는 것 보단 더하는게 더 크다"
⇒ 1의 경우에는 곱하지말고 더해야함!!!!
1 2⇒ 3
1 1⇒ 2
효율성
- 로직 수행 전에 확인해볼 필요가 없는 케이스들은 미리 반환하도록 한다.
ex. 모든 케이스를 확인해야하는지 전체의 1/2만 확인해도 되는지 등등
실수
- 초기 최댓값, 최소값 설정 확인. 계산하기 귀찮으면
Integer.MAX_VALUE로 처리 음수인 경우와양수인 경우를 나눠서 확인해야하는지 체크- 배열의 input 확인
- arr[x][y] 일 때, 들어오는 값의 순서가
y,x순으로 들어올 수도 있다. - 인덱스의 시작위치가
arr[0][0]이 아니라arr[1][1]인지 주의
- arr[x][y] 일 때, 들어오는 값의 순서가
- input과 return 값이 int 범위여도 중간 계산에서 int 범위를 넘는 경우가 있는지 확인 → 실수형 비교를 해야한다.
- 문자열 input → 공백이 연속으로 오거나, 문자열의 마지막이 공백일 때 이를 처리해줘야할지 확인
21.06.29 [프로그래머스] 12951 JadenCase 문자열 만들기 #239 - 배열 크기 지정 시, 로직 상 접근하는 index의 범위를 벗어나지는 않는지 확인
ex. 배열의 크기가 0또는 1로 들어오는데 로직에서 배열의 index 접근 범위 사이즈가 3인 경우 - 21.02.21 [백준] 15903 카드 합체 놀이 #148
- m == 0 일 때, 고려하지 못한 코드 (실수)
// 틀린 코드 while (m-- > 0) { } // 수정 코드 while (--m >= 0) { }
Metadata
Metadata
Assignees
Labels
No labels