반응형
https://www.acmicpc.net/problem/16504
16504번: 종이접기
종이접기와 수학을 좋아하는 주성이는 종이접기와 수학을 한꺼번에 할 수 있는 놀이를 찾아냈다. 바로 N×N 크기를 가지는 색종이의 각 칸에 수를 적어놓고, 색종이를 반으로 접을 때마다 겹치는
www.acmicpc.net
간단한 구현 문제였습니다.
📕 풀이방법
📔 풀이과정
* 한 변의 길이가 2^10이라면 대략 1000 * 1000개의 원소를 입력받게 됩니다. 하나의 원소가 최대 10만일 수 있기 때문에 10만 * 1000 * 1000은 1000억이므로 int범위를 초과할 수 있습니다. 따라서 i64로 선언해줘야 overflow가 나지 않습니다.색종이를 접어 한 칸으로 만드는 것이 결국 모든 칸의 숫자를 더한 결과가 됩니다. 매 줄을 입력 받을 때마다 모든 원소를 더해 ans에 누적시켜줍니다.
📔 정답출력
ans를 출력해줍니다.
📕 Code
use std::io;
fn main() {
let mut ans: i64 = 0;
let mut line = String::new();
io::stdin().read_line(&mut line).expect("wrong io");
let paper_len = line.trim().parse::<i64>().unwrap();
for i in 0..paper_len {
let mut line = String::new();
io::stdin().read_line(&mut line).expect("wrong io");
line = line.trim().to_owned();
let numbers: Vec<i64> = line
.split_whitespace()
.map(|num| num.parse::<i64>().unwrap())
.collect();
for n in numbers {
ans += n;
}
}
println!("{}", ans);
}
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Implementation' 카테고리의 다른 글
(Rust) - 백준(BOJ) 17350 : 2루수 이름이 뭐야 (0) | 2022.08.21 |
---|---|
(Rust) - 백준(BOJ) 17094 : Serious Problem (0) | 2022.08.19 |
(Rust) - 백준(BOJ) 25286 : 11월 11일 (2) | 2022.08.17 |
(Rust) - 백준(BOJ) 9297 : Reducing Improper Fractions (0) | 2022.08.16 |
(C++) - 백준(BOJ) 9723 : Right Triangle (0) | 2022.08.14 |