본문 바로가기

Algorithm/String

(C++, Rust) - 백준(BOJ) 23303 : 이 문제는 D2 입니다.

반응형

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

 

23303번: 이 문제는 D2 입니다.

문자열 안에 $D2$나 $d2$가 들어있다면 D2를 출력한다. 두 글자는 반드시 붙어있어야 하며, $D$/$d$와 $2$ 사이에 공백이 있어도 안 된다. 만약 문자열 안에 해당 문자가 없다면 unrated를 출력한다.

www.acmicpc.net

문자열을 찾는 find함수를 써보는 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

한줄 s를 선언 후 입력받습니다.

📔 정답출력

find함수의 결과값이 유의미 할 때 D2를, 하지 않을 때 unrated를 정답으로 출력합니다


📕 Code

C++

#include <bits/stdc++.h>
using namespace std;
string s;
int main(){
  getline(cin, s);
  if(s.find("d2") != string::npos|| s.find("D2") != string::npos) cout << "D2";
  else cout << "unrated";
}

Rust

use std::io;

fn main() {
  let mut ans;
  let mut line = String::new();
  io::stdin().read_line(&mut line).expect("wrong io");
  match line.find("d2") {
    Some(_) => ans = "D2",
    None => ans = "unrated"
  }
  if ans == "D2" {
    print!("{}", ans);
    return;
  }
  match line.find("D2") {
    Some(_) => ans = "D2",
    None => ans = "unrated",
  }
  print!("{}", ans)
}

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