반응형
https://www.codetree.ai/missions/4/problems/a-to-b/description
코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int result = 0;
// a에서 시작해서 조건에 따라 커지다가 b보다 커지는 순간에 종료
// 홀수->2배
// 짝수->+3
System.out.print(a + " ");
for (int i = a; i <= b;) {
if (i % 2 == 0)
i += 3;
else
i *= 2;
if (i <= b)
System.out.print(i + " ");
}
sc.close();
}
}
설명
System.out.print(a + " ");
- 예를 들어 '2, 13'을 입력하면 조건에 따라 계산 후 '2 5 10 13'이 나와야 한다.
- 그런데 양쪽을 보니 a와 b의 값이 있다.
- 먼저 a는 그대로 출력을 해주고 나머지는 계산 후 하나씩 출력을 해줄것이다.
for (int i = a; i <= b;) {
if (i % 2 == 0)
i += 3;
else
i *= 2;
if (i <= b)
System.out.print(i + " ");
}
- a부터 b까지 돌도록 for문을 걸어준다
- 조건문으로 짝수일때는 3씩 증가시켜주고,
홀수일때는 2씩 곱해지도록 if문을 걸어준다.
- 그리고 이 코드대로라면 i가 증가된 상태로 출력이 되버리기 때문에
- 조건문으로 b를 넘지 않으면 출력하게 걸어준다.
반응형
'알고리즘 > 코드트리' 카테고리의 다른 글
[코드트리 조별과제] 3주차 정리 (0) | 2024.08.04 |
---|---|
[코드트리][Java] 반복문 안의 if - 369 게임 (0) | 2024.08.03 |
[코드트리][Java] if 안의 for - 높은 수에서 낮은 수까지 (0) | 2024.08.02 |
[코드트리][Java] n번 반복하기 - a/b 출력 (0) | 2024.08.01 |
[코드트리 조별과제] 2주차 정리 (0) | 2024.07.28 |