본문 바로가기

Algorithm/Implementation

(C++, Rust) - 백준(BOJ) 25625 : 샤틀버스

반응형

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

 

25625번: 샤틀버스

3년만에 열리는 대면 SNUPC를 위해서, 민준이는 제2공학관으로 가고자 한다! 제2공학관에 가는 버스는 여러 가지가 있다. 관악02, 5511, 5513, 5516... 어떤 버스를 타더라도 단점이 있는데, 그것은 바로

www.acmicpc.net

간단 구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

서울대입구역에서 제 2공학관으로 버스가 이동할 때 소요시간과 제 2공학관으로 이동하기까지의 소요시간을 입력 받습니다.

📔 풀이과정

x, y를 각각 다음과 같이 생각해봅니다. x는 설대역에서 제 2공학관까지 소요시간, 반대편(제 2공학관)으로 도착하는데 걸리는 시간 y.

경우는 두 가지로 나눠집니다.

1. x > y라면 버스는 제 2공학관으로 향하는 중이며 찍턴해야하므로 x + y가 답이 됩니다.

2. x <= y라면 버스는 서울대입구역으로 향하고 있으며 거의 다 도착한 셈이 됨니다. y - x가 답이 됩니다.

📔 정답출력

조건에 맞게 출력해줍니다.


📕 Code

C++

#include <bits/stdc++.h>
using namespace std;
int x, y;
int main(){
  cin >> x >> y;
  if(x > y) {
    cout << x + y;
  }
  else {
    cout << y - x;
  }
}

 

Rust

use std::io;
fn main(){
  let mut line = String::new();
  io::stdin().read_line(&mut line).expect("wrong io");
  let nums: Vec<i64> = line.trim().split_whitespace().map(|x| x.parse::<i64>().unwrap()).collect();
  let x = nums[0 as usize];
  let y = nums[1 as usize];
  if x > y {
    print!("{}", x + y);
  }
  else {
    print!("{}", y - x);
  }
}

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