728x90
반응형

백준알고리즘

- Bronze 4 -

 #6810. ISBN by JAVA and node.js 

 


 

문제

출처: https://www.acmicpc.net/problem/6810 

번역: https://www.acmicpc.net/board/view/85969

 

글 읽기 - (번역) 6810 - 국제 표준 도서 번호

댓글을 작성하려면 로그인해야 합니다.

www.acmicpc.net


 

접근 방법

13자리 수 중 10자리 수는 9780921418로 고정, 뒤의 세 자리 수는 입력된다.

배열번호 기준 짝수 번째는 *1을, 홀수 번째는 *3을 해서 합을 구하면 된다.

먼저 배열을 하나 선언해서 9780921418을 넣어준 뒤, 입력되는 값을 추가로 넣어 계산해도 되고,

9780921418의 ISBN값을 구한 뒤 입력되는 값에 대해 계산해도 된다.

 

나는 배열에 먼저 넣어준 뒤 계산했다.

 


 

풀이

▶ JAVA

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        
        int[] arr = {9, 7, 8, 0, 9, 2, 1, 4, 1, 8, 0, 0, 0}; // 13자리 배열 선언
        
        Scanner scan = new Scanner(System.in);
        
        for(int i=0; i<3; i++) {
            arr[i+10] = scan.nextInt(); // 11~13번째 값 입력
        }
        scan.close();
        
        int sum = 0; // 출력할 합 변수 선언 및 초기화
        
        for(int i=0; i<arr.length; i++) {
            if(i%2 == 0) { // 짝수번째 배열값이라면
                sum += arr[i] * 1; // 배열값*1을 sum에 계속 더해줌
            } else { // 홀수번째 배열값이라면
                sum += arr[i] * 3; // 배열값*3을 sum에 계속 더해줌
            }
        }
        
        // 결과값 출력
        System.out.println("The 1-3-sum is " + sum);
    }
}

 

▶ node.js

var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().trim().split('\n').map(v => +v);
var arr = [9, 7, 8, 0, 9, 2, 1, 4, 1, 8, 0, 0, 0];

for(var i=0; i<3; i++){
    arr[i+10] = input[i];
}

var sum = 0;
for(var i=0; i<arr.length; i++){
    if(i%2 == 0){
        sum += arr[i] * 1;
    } else {
        sum += arr[i] * 3;
    }
}
console.log("The 1-3-sum is " + sum);

 


 

결과

 


 

 

 

 

 

End.

heisely's 괴발개발 개발일지

 

728x90
반응형

+ Recent posts