본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1260 : 3의 배수의 합

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1260 : 3의 배수의 합 (자바, JAVA)입니다.

Intro

Question

문제 설명

어떤 수 a, b가 주어진다.
a와 b의 관계는 a <= b 이다.
a에서 b까지의 수 중 3의 배수만 더하여 출력하시오.

입력

입력으로 두 자연수 a, b가 주어진다. (a<= b)

출력

a~b까지의 수 중 3의 배수의 합을 출력한다.

예시

  • 입력 : 3 7
  • 출력 : 9

Solution (풀이)

  • 풀이 1 : 메모리 11148, 시간 69
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(), " ");
        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());

        // 합계를 0으로 초기화 선언
        int total = 0;
        // 입력받은 숫자 만큼 for문 반복
        for (int i=a; i<=b; i++) {
            if (i%3 == 0) {    // 3의 배수이면
                total += i;
            }
        }

        System.out.println(total);
    }
}
  • 풀이 2 : 메모리 11176, 시간 65
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(), " ");
        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());

        int n = a-1;    // 처음부터 시작될 숫자 n을 a-1로 선언
        int total = 0;     // 합계를 0으로 초기화 선언

        // 입력받은 숫자 만큼 for문 반복
        while (n++<b) {
            if (n%3 == 0) {    // 3의 배수이면
                total += n;
            }
        }

        System.out.println(total);
    }
}

Ranking(순위)

반응형