본문 바로가기

Algorithm/Implementation

(Rust) - 백준(BOJ) 17094 : Serious Problem

반응형

https://www.acmicpc.net/problem/17094

 

17094번: Serious Problem

2의 등장횟수가 더 많다면 2를 출력하고, e의 등장횟수가 더 많다면 e를 출력한다. 등장횟수가 같다면 "yee"를 출력한다. (큰 따옴표 제외)

www.acmicpc.net

간단 분기 구현문제였습니다.

📕 풀이방법

📔 입력 및 초기화

2의 개수 one, e의 개수 two, 입력받을 str_len, s를 선언 후 입력받습니다.

📔 풀이과정

1. String으로 입력을 s에 표준 입출력을 위해 선언했었고 때문에 iterator 내장함수가 없기에 chars로 변환해 for loop를 수행합니다.2. 매 문자를 비교해 조건에 따라 one, two에 값을 더해줍니다.* 따옴표의 구분에 따라 자료형이 다릅니다.' '는 char " "는 str입니다. 이를 주의해 비교합니다.

📔 정답출력

조건에 따라 정답을 출력합니다.


📕 Code

use std::io;
fn main() {
    let mut one = 0;
    let mut two = 0;
    let mut str_len = String::new();
    io::stdin().read_line(&mut str_len).expect("wrong io");
    let mut s = String::new();
    io::stdin().read_line(&mut s).expect("wrong io");
    for c in s.chars() {
        if c == '2' {
            one += 1;
        }
        if c == 'e' {
            two += 1;
        }
    }
    if one > two {
        print!("2");
    }
    else if one < two {
        print!("e");
    }
    else {
        print!("yee");
    }
}

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.