반응형
https://www.acmicpc.net/problem/21312
21312번: 홀짝 칵테일
정진이는 특별한 음료를 가지고 있다. 음료들은 정수로 표현되는 고유 번호를 가지고 있다. 정진이는 이 음료들을 섞어 만든 칵테일을 만든다. 이 칵테일은 홀짝 칵테일이라 부르는데, 홀짝 칵
www.acmicpc.net
간단 구현 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
한 줄을 입력 받고 세 개의 정수를 저장할 vector numbers를 선언해 저장합니다.
📔 풀이과정
홀수와 짝수를 나눠 odd, even vector에 저장합니다.
홀수원소들은 ans1에 짝수원소들은 ans2에 곱해 저장합니다.
📔 정답출력
하나라도 홀수가 있다면 짝수는 배제하고 맛을 구하게 됩니다. 그래서 ans1을 출력합니다.
이외에는 모두 짝수인 경우이므로 ans2를 출력합니다.
📕 Code
use std::io;
fn main() {
let mut line = String::new();
let mut ans1 = 1;
let mut ans2 = 1;
io::stdin().read_line(&mut line).expect("wrong io");
let numbers: Vec<i64> = line
.split_whitespace()
.map(|num| num.parse::<i64>().unwrap())
.collect();
let mut odd: Vec<i64> = Vec::new();
let mut even: Vec<i64> = Vec::new();
for i in numbers {
if i % 2 == 0 {
even.push(i);
}
else {
odd.push(i);
}
}
odd.sort();
even.sort();
for i in &odd {
ans1 *= i;
}
for i in even {
ans2 *= i;
}
if odd.len() > 0 {
println!("{}", ans1);
}
else {
println!("{}", ans2);
}
}
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Implementation' 카테고리의 다른 글
(C++, Python) - 백준(BOJ) 15818 : 오버플로우와 모듈러 (0) | 2022.08.30 |
---|---|
(C++, Python) - 백준(BOJ) 16503 : 괄호 없는 사칙연산 (0) | 2022.08.29 |
(Python) - 백준(BOJ) 14579 : 덧셈과 곱셈 (2) | 2022.08.23 |
(Rust) - 백준(BOJ) 16483 : 접시 안의 원 (0) | 2022.08.22 |
(Rust) - 백준(BOJ) 17350 : 2루수 이름이 뭐야 (0) | 2022.08.21 |