짝수/ 홀수 판별 문제
- 1 ~ 1,000,000 까지의 수 중에 홀수는 홀수로 출력, 짝수는 짝수로 출력하는 프로그램을 작성하시오.
문제 분석
- 짝수와 홀수를 판별해야 하므로 조건문 사용
- 짝수와 홀수의 경우이므로 나머지가 0이거나 1인 경우로 구분
- 1 ~ 1,000,000 까지의 수이므로 총 시행 횟수 = 1000000
코드 작성
package algo;
public class Odd {
public static void main(String[] args) {
// 1. 1일 경우 : 홀수
int a = 1;
System.out.println(a + "는 홀수입니다.");
// 2. 2일 경우 : 짝수 > a+1
a++;
System.out.println(a + "는 짝수입니다.");
// 3. 3일 경우 : 홀수 > a+1
a++;
System.out.println(a + "는 홀수입니다.");
// ....
// 모듈화 1 : a는 0부터, a++을 공통적으로
// 모듈화 2 : 홀수일 때, 짝수일 때 구분 ? a % 2 == 1
// 모듈화 3 : 출력문 : 반복문으로 > for? while?
// 내가 생각한 반복문 : 경계값만 지정해서 코드를 줄일 수 있는 while 선택
// 최적화 코드
int a = 0;
int limit = 1000000;
while (true) {
a++;
String s = a % 2 == 1 ? "홀수입니다." : "짝수입니다.";
if (a > limit) break;
System.out.println(a + "은 " + s);
}
}
}
코드를 작성할 때에는 절차에 맞춰서!
- 절차 적기 (주석 활용, 한글로 직접 적어보기)
- Hard Coding < 모든 경우를 직접 하지말고, 샘플링을 통한 패턴 분석
- 모듈화 진행 : 줄일 부분은 압축, 공통화
- 불필요한 부분은 반복문으로 압축
결과

Share article