반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1257 : 두 수 사이의 홀수 출력하기 (자바, JAVA)입니다.
Intro
Question
문제 설명
시작수와 마지막 수가 입력되면
시작수부터 마지막 수까지의 모든 홀수를 출력하시오.
입력
두 수 a, b 가 입력된다. ( a <= b )
출력
a~b의 홀수를 모두 출력한다.
예시
- 입력 : 2 7
- 출력 : 3 5 7
Solution (풀이)
- 풀이 1 : 메모리 11172, 시간 68
public class Answer1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
StringBuilder sb = new StringBuilder();
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
// 입력받은 a와 b의 숫자 만큼 for문 반복
for (int i=a; i<=b; i++) {
if (i%2==1) { // %연산자를 통해서 홀수인지 판단
sb.append(i + " ");
}
}
System.out.println(sb);
}
}
- 풀이 2 : 메모리 11176, 시간 94
public class Answer2 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
StringBuilder sb = new StringBuilder();
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
// a와 b가 먼저 홀수 인지 판단(3항 연산자)
a = a%2 == 1 ? a : a+1; // a가 홀수가 아닐때는 a 바로 다음 숫자부터
b = b%2 == 1 ? b : b-1; // b가 홀수가 아닐때는 b 바로 전 숫자까지
// 입력받은 a와 b의 숫자 만큼 for문 반복
for (int i=a; i<=b; i+=2) {
sb.append(i + " ");
}
System.out.print(sb);
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1259 : 1부터 n까지 중 짝수의 합 구하기 (0) | 2022.06.07 |
---|---|
[CodeUp_Java] Q1258 : 1부터 n까지 합 구하기 (0) | 2022.06.07 |
[CodeUp_Java] Q1256 : 별 출력하기 (0) | 2022.06.07 |
[CodeUp_Java] Q1255 : 두 실수 사이 출력하기 (0) | 2022.06.07 |
[CodeUp_Java] Q1254 : 알파벳 출력하기 (0) | 2022.06.07 |