알고리즘/백준알고리즘

[백준알고리즘] #14038. Tournament Selection (by JAVA and node.js)

Jimnya 2022. 4. 27. 14:11
728x90
반응형

백준알고리즘

- Bronze 4 -

 #14038. Tournament Selection by JAVA and node.js 

 


 

문제

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

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

 

글 읽기 - (번역) 14038 - 대회

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

www.acmicpc.net


 

접근 방법

총 6번의 입력을 받고, W개수에 따라 값을 출력하면 된다.

따라서 W의 개수를 세어줄 변수 wins를 선언 및 0으로 초기화 한 다음, for문을 통해 입력을 받으면서 입력값이 W이면 wins를 하나 증가시키고서 switch문을 통해 wins의 값에 따라 결과값을 출력하면 된다.

 


 

풀이

▶ JAVA

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int wins = 0;
        for(int i=0; i<6; i++) {
            String input = scan.next();
            if("W".equals(input)) 
                wins++;
        }
        scan.close();

        switch(wins) {
            case 5: case 6:
                System.out.println(1);
                break;
            case 4: case 3:
                System.out.println(2);
                break;
            case 2: case 1:
                System.out.println(3);
                break;
            default:
                System.out.println(-1);
                break;
        }
    }
}

 

▶ node.js

var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
var wins = 0;

for(var i=0; i<6; i++){
    if(input[i].replace('\r','') == 'W')
        wins++;
}

switch(wins) {
    case 5: case 6:
        console.log(1);
        break;
    case 4: case 3:
        console.log(2);
        break;
    case 2: case 1:
        console.log(3);
        break;
    default:
        console.log(-1);
        break;
}

node.js의 경우 \n으로 자르면 input = ['W\r', 'L\r', ...]의 형식으로 들어간다.

따라서 replace('\r', '')을 이용하여 \r을 제거해준 뒤 'W'와 같은 지 확인해야한다.


 

결과

 


 

 

 

 

 

End.

heisely's 괴발개발 개발일지

 

728x90
반응형