2. 발표자 소개
• 옥찬호 (Chris Ohk)
• (현) Momenti Engine Engineer
• (전) Nexon Korea Game Programmer
• Microsoft Developer Technologies MVP
• C++ Korea Founder & Administrator
• Reinforcement Learning KR Administrator
• IT 전문서 집필 및 번역 다수
• 게임샐러드로 코드 한 줄 없이 게임 만들기 (2013)
• 유니티 Shader와 Effect 제작 (2014)
• 2D 게임 프로그래밍 (2014), 러스트 핵심 노트 (2017)
• 모던 C++ 입문 (2017), C++ 최적화 (2019)
2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
utilForever@gmail.com
utilForever
3. Rust란?
• https://www.rust-lang.org/
• 모질라 재단에서 2010년 7월 7일 처음 발표
• 현재는 러스트 재단으로 독립해서 개발되고 있다.
• Rust 언어의 특징
• 안전한 메모리 관리
• 철저한 예외나 에러 관리
• 특이한 enum 시스템
• 트레이트
• 비동기 프로그래밍
• 제네릭
2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
4. PS에서의 Rust
• PS에서 주로 사용하는 언어(C++, Python 등)에 비해 어려운 점이 많다.
• 불편한 콘솔 입출력
• C++ : std::cin, std::cout
• Python : input.split(), print()
• Rust : 간단하지 않음 (1줄로 안됨)
• 엄격한 언어 문법
• 변수 타입을 반드시 일치시켜야 한다.
• 수명을 고려하면서 소유권 규칙을 지켜야 한다.
• 부실한 자료 구조와 알고리즘
• 가장 기본적인 자료 구조와 알고리즘만 존재한다.
• C++이나 Python에 있는 다양한 함수들이 Rust에는 존재하지 않는다.
2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
5. PS에서의 Rust
• 그러면 굳이 왜?
• 불편한 콘솔 입출력
• 아 이건 답이 없… (X를 눌러 조의를 표하세요.)
• 특히 입력 라인 수가 많을수록 매우 불리해진다.
• 엄격한 언어 문법
• 품질이 높은 코드를 작성하게 된다.
• 메모리 관리를 잘 하고 있는지 확인할 수 있다.
• 부실한 자료 구조와 알고리즘
• 자료 구조와 알고리즘을 직접 구현해보며 이해하는 게 도움이 된다.
2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
6. A + B (BOJ 1000) - C++ 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
7. A + B (BOJ 1000) - Rust 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
8.
9. GCD와 LCM (BOJ 2609) - C++ 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
10. GCD와 LCM (BOJ 2609) - Rust 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
std::gcd, std::lcm?
그런 거 없다.
18. BOJ 수열 1 (BOJ 13323) - Rust 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
19. Rust를 배우고 싶다면…
• Rust 공식 가이드라인 문서 : https://doc.rust-lang.org/book/
• A Tour of Rust : https://tourofrust.com/
• 러스트 프로그래밍 공식 가이드 (제이펍, 2019)
• Contest Algorithms in Rust
(https://github.com/EbTech/rust-algorithms)
• Common Data Structures and Algorithms in Rust
(https://github.com/utilForever/algorithm-rs)
2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기