SlideShare a Scribd company logo
4
Most read
7
Most read
15
Most read
선린인터넷고등학교 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
옥찬호
utilForever@gmail.com
발표자 소개
• 옥찬호 (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
Rust란?
• https://www.rust-lang.org/
• 모질라 재단에서 2010년 7월 7일 처음 발표
• 현재는 러스트 재단으로 독립해서 개발되고 있다.
• Rust 언어의 특징
• 안전한 메모리 관리
• 철저한 예외나 에러 관리
• 특이한 enum 시스템
• 트레이트
• 비동기 프로그래밍
• 제네릭
2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
PS에서의 Rust
• PS에서 주로 사용하는 언어(C++, Python 등)에 비해 어려운 점이 많다.
• 불편한 콘솔 입출력
• C++ : std::cin, std::cout
• Python : input.split(), print()
• Rust : 간단하지 않음 (1줄로 안됨)
• 엄격한 언어 문법
• 변수 타입을 반드시 일치시켜야 한다.
• 수명을 고려하면서 소유권 규칙을 지켜야 한다.
• 부실한 자료 구조와 알고리즘
• 가장 기본적인 자료 구조와 알고리즘만 존재한다.
• C++이나 Python에 있는 다양한 함수들이 Rust에는 존재하지 않는다.
2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
PS에서의 Rust
• 그러면 굳이 왜?
• 불편한 콘솔 입출력
• 아 이건 답이 없… (X를 눌러 조의를 표하세요.)
• 특히 입력 라인 수가 많을수록 매우 불리해진다.
• 엄격한 언어 문법
• 품질이 높은 코드를 작성하게 된다.
• 메모리 관리를 잘 하고 있는지 확인할 수 있다.
• 부실한 자료 구조와 알고리즘
• 자료 구조와 알고리즘을 직접 구현해보며 이해하는 게 도움이 된다.
2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
A + B (BOJ 1000) - C++ 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
A + B (BOJ 1000) - Rust 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기
GCD와 LCM (BOJ 2609) - C++ 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
GCD와 LCM (BOJ 2609) - Rust 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
std::gcd, std::lcm?
그런 거 없다.
GCD와 LCM (BOJ 2609) - Rust 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
다음 순열 (BOJ 10972) - C++ 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
다음 순열 (BOJ 10972) - Rust 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
std::next_permutation?
어림도 없다.
다음 순열 (BOJ 10972) - Rust 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
Rust 자료 구조
• 기본 자료 구조들은 구현되어 있다. 다만, 익숙한 이름이 아닐 뿐…
• 스택(Stack) : std::stack std::collections::Vec
• 큐(Queue) / 덱(Deque) : std::queue, std::deque std::collections::VecDeque
• 링크드 리스트(Linked List) : std::list std::collections::LinkedList
• 맵(Map) : std::map std::collections::HashMap
• B-트리(B-Tree) : std::collections::BTreeMap
• 셋(Set) : std::set std::collections::HashSet/BTreeSet
• 우선순위 큐(Priority Queue) : std::priority_queue std::collections::BinaryHeap
2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
계단 오르기 (BOJ 2579) - Rust 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
제로 (BOJ 10773) - Rust 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
BOJ 수열 1 (BOJ 13323) - Rust 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
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로 알고리즘 문제 풀어보기
TL; DR 2021 알고리즘 컨퍼런스
Rust로 알고리즘 문제 풀어보기
감사합니다.
utilForever@gmail.com
https://github.com/utilForever
Facebook, Twitter: @utilForever

More Related Content

What's hot (20)

PDF
게임서버프로그래밍 #8 - 성능 평가
Seungmo Koo
 
PDF
실시간 게임 서버 최적화 전략
YEONG-CHEON YOU
 
PDF
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
Heungsub Lee
 
PPTX
PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교
iFunFactory Inc.
 
PDF
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Esun Kim
 
PDF
How to build massive service for advance
DaeMyung Kang
 
PDF
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
Amazon Web Services Korea
 
PDF
NDC12_Lockless게임서버설계와구현
noerror
 
PDF
테라로 살펴본 MMORPG의 논타겟팅 시스템
QooJuice
 
PDF
Multiplayer Game Sync Techniques through CAP theorem
Seungmo Koo
 
PDF
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
devCAT Studio, NEXON
 
PDF
임태현, 게임 서버 디자인 가이드, NDC2013
devCAT Studio, NEXON
 
PPTX
NDC 11 자이언트 서버의 비밀
승명 양
 
PDF
Momenti Seminar - A Tour of Rust, Part 1
Chris Ohk
 
PDF
오토인코더의 모든 것
NAVER Engineering
 
PPTX
GameInstance에 대해서 알아보자
TonyCms
 
PDF
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
devCAT Studio, NEXON
 
PPTX
Virtual Container - Docker
Venkata Naga Ravi
 
PDF
Massive service basic
DaeMyung Kang
 
PPTX
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
devCAT Studio, NEXON
 
게임서버프로그래밍 #8 - 성능 평가
Seungmo Koo
 
실시간 게임 서버 최적화 전략
YEONG-CHEON YOU
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
Heungsub Lee
 
PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교
iFunFactory Inc.
 
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Esun Kim
 
How to build massive service for advance
DaeMyung Kang
 
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
Amazon Web Services Korea
 
NDC12_Lockless게임서버설계와구현
noerror
 
테라로 살펴본 MMORPG의 논타겟팅 시스템
QooJuice
 
Multiplayer Game Sync Techniques through CAP theorem
Seungmo Koo
 
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
devCAT Studio, NEXON
 
임태현, 게임 서버 디자인 가이드, NDC2013
devCAT Studio, NEXON
 
NDC 11 자이언트 서버의 비밀
승명 양
 
Momenti Seminar - A Tour of Rust, Part 1
Chris Ohk
 
오토인코더의 모든 것
NAVER Engineering
 
GameInstance에 대해서 알아보자
TonyCms
 
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
devCAT Studio, NEXON
 
Virtual Container - Docker
Venkata Naga Ravi
 
Massive service basic
DaeMyung Kang
 
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
devCAT Studio, NEXON
 

Similar to 선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기 (20)

PDF
알고리즘 연합캠프 세미나 1-C (알고리즘 설계와 모델링 및 수학)
HYUNJEONG KIM
 
PPTX
코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)
ultrasuperrok
 
PDF
2021 1학기 정기 세미나 6주차
Moonki Choi
 
PDF
Problem Solving GuideBook
Hongjun Jang
 
PPTX
Data Structures
skku_npc
 
PDF
[SOPT] 데이터 구조 및 알고리즘 스터디 - #01 : 개요, 점근적 복잡도, 배열, 연결리스트
S.O.P.T - Shout Our Passion Together
 
PPTX
Coding interview
Soohan Ahn
 
PPTX
하스켈로 알고리즘 문제 풀기
민석 이
 
PDF
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
Suhyun Park
 
PDF
코딩테트2205-kucc-220508145530-8015b5d7.pdf
ssuser597fbd
 
PDF
Algorithms summary korean
Young-Min kang
 
PPTX
생각하는 프로그래밍 1부
sj k
 
DOCX
자료구조 Project6
KoChungWook
 
PDF
2021 여름방학 정기 세미나 3주차
Moonki Choi
 
PDF
Project#2말의여행 Hwp
Kimjeongmoo
 
PDF
[D2CAMPUS] Algorithm tips - ALGOS
NAVER D2
 
PDF
자료구조 2014-2018년 기말시험 기출문제
Lee Sang-Ho
 
PDF
자료구조02
JeongJunYong
 
PPTX
코딩테스트 합격자 되기 C++ 00~ 01장(효율적 공부하는방법).pptx
ultrasuperrok
 
PDF
Geveloper 160816
Nyeong Ahn
 
알고리즘 연합캠프 세미나 1-C (알고리즘 설계와 모델링 및 수학)
HYUNJEONG KIM
 
코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)
ultrasuperrok
 
2021 1학기 정기 세미나 6주차
Moonki Choi
 
Problem Solving GuideBook
Hongjun Jang
 
Data Structures
skku_npc
 
[SOPT] 데이터 구조 및 알고리즘 스터디 - #01 : 개요, 점근적 복잡도, 배열, 연결리스트
S.O.P.T - Shout Our Passion Together
 
Coding interview
Soohan Ahn
 
하스켈로 알고리즘 문제 풀기
민석 이
 
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
Suhyun Park
 
코딩테트2205-kucc-220508145530-8015b5d7.pdf
ssuser597fbd
 
Algorithms summary korean
Young-Min kang
 
생각하는 프로그래밍 1부
sj k
 
자료구조 Project6
KoChungWook
 
2021 여름방학 정기 세미나 3주차
Moonki Choi
 
Project#2말의여행 Hwp
Kimjeongmoo
 
[D2CAMPUS] Algorithm tips - ALGOS
NAVER D2
 
자료구조 2014-2018년 기말시험 기출문제
Lee Sang-Ho
 
자료구조02
JeongJunYong
 
코딩테스트 합격자 되기 C++ 00~ 01장(효율적 공부하는방법).pptx
ultrasuperrok
 
Geveloper 160816
Nyeong Ahn
 
Ad

More from Chris Ohk (20)

PDF
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
Chris Ohk
 
PDF
Momenti Seminar - 5 Years of RosettaStone
Chris Ohk
 
PDF
Momenti Seminar - A Tour of Rust, Part 2
Chris Ohk
 
PDF
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021
Chris Ohk
 
PDF
Adversarially Guided Actor-Critic, Y. Flet-Berliac et al, 2021
Chris Ohk
 
PDF
Agent57: Outperforming the Atari Human Benchmark, Badia, A. P. et al, 2020
Chris Ohk
 
PDF
Proximal Policy Optimization Algorithms, Schulman et al, 2017
Chris Ohk
 
PDF
Trust Region Policy Optimization, Schulman et al, 2015
Chris Ohk
 
PDF
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015
Chris Ohk
 
PDF
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
Chris Ohk
 
PDF
[RLKorea] <하스스톤> 강화학습 환경 개발기
Chris Ohk
 
PDF
[NDC 2019] 하스스톤 강화학습 환경 개발기
Chris Ohk
 
PDF
C++20 Key Features Summary
Chris Ohk
 
PDF
[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지
Chris Ohk
 
PDF
디미고 특강 - 개발을 시작하려는 여러분에게
Chris Ohk
 
PDF
청강대 특강 - 프로젝트 제대로 해보기
Chris Ohk
 
PDF
[NDC 2018] 유체역학 엔진 개발기
Chris Ohk
 
PDF
My Way, Your Way
Chris Ohk
 
PDF
Re:Zero부터 시작하지 않는 오픈소스 개발
Chris Ohk
 
PDF
[9XD] Introduction to Computer Graphics
Chris Ohk
 
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
Chris Ohk
 
Momenti Seminar - 5 Years of RosettaStone
Chris Ohk
 
Momenti Seminar - A Tour of Rust, Part 2
Chris Ohk
 
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021
Chris Ohk
 
Adversarially Guided Actor-Critic, Y. Flet-Berliac et al, 2021
Chris Ohk
 
Agent57: Outperforming the Atari Human Benchmark, Badia, A. P. et al, 2020
Chris Ohk
 
Proximal Policy Optimization Algorithms, Schulman et al, 2017
Chris Ohk
 
Trust Region Policy Optimization, Schulman et al, 2015
Chris Ohk
 
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015
Chris Ohk
 
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
Chris Ohk
 
[RLKorea] <하스스톤> 강화학습 환경 개발기
Chris Ohk
 
[NDC 2019] 하스스톤 강화학습 환경 개발기
Chris Ohk
 
C++20 Key Features Summary
Chris Ohk
 
[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지
Chris Ohk
 
디미고 특강 - 개발을 시작하려는 여러분에게
Chris Ohk
 
청강대 특강 - 프로젝트 제대로 해보기
Chris Ohk
 
[NDC 2018] 유체역학 엔진 개발기
Chris Ohk
 
My Way, Your Way
Chris Ohk
 
Re:Zero부터 시작하지 않는 오픈소스 개발
Chris Ohk
 
[9XD] Introduction to Computer Graphics
Chris Ohk
 
Ad

선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기

  • 1. 선린인터넷고등학교 2021 알고리즘 컨퍼런스 Rust로 알고리즘 문제 풀어보기 옥찬호 [email protected]
  • 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로 알고리즘 문제 풀어보기 [email protected] 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로 알고리즘 문제 풀어보기
  • 9. GCD와 LCM (BOJ 2609) - C++ 2021 알고리즘 컨퍼런스 Rust로 알고리즘 문제 풀어보기
  • 10. GCD와 LCM (BOJ 2609) - Rust 2021 알고리즘 컨퍼런스 Rust로 알고리즘 문제 풀어보기 std::gcd, std::lcm? 그런 거 없다.
  • 11. GCD와 LCM (BOJ 2609) - Rust 2021 알고리즘 컨퍼런스 Rust로 알고리즘 문제 풀어보기
  • 12. 다음 순열 (BOJ 10972) - C++ 2021 알고리즘 컨퍼런스 Rust로 알고리즘 문제 풀어보기
  • 13. 다음 순열 (BOJ 10972) - Rust 2021 알고리즘 컨퍼런스 Rust로 알고리즘 문제 풀어보기 std::next_permutation? 어림도 없다.
  • 14. 다음 순열 (BOJ 10972) - Rust 2021 알고리즘 컨퍼런스 Rust로 알고리즘 문제 풀어보기
  • 15. Rust 자료 구조 • 기본 자료 구조들은 구현되어 있다. 다만, 익숙한 이름이 아닐 뿐… • 스택(Stack) : std::stack std::collections::Vec • 큐(Queue) / 덱(Deque) : std::queue, std::deque std::collections::VecDeque • 링크드 리스트(Linked List) : std::list std::collections::LinkedList • 맵(Map) : std::map std::collections::HashMap • B-트리(B-Tree) : std::collections::BTreeMap • 셋(Set) : std::set std::collections::HashSet/BTreeSet • 우선순위 큐(Priority Queue) : std::priority_queue std::collections::BinaryHeap 2021 알고리즘 컨퍼런스 Rust로 알고리즘 문제 풀어보기
  • 16. 계단 오르기 (BOJ 2579) - Rust 2021 알고리즘 컨퍼런스 Rust로 알고리즘 문제 풀어보기
  • 17. 제로 (BOJ 10773) - Rust 2021 알고리즘 컨퍼런스 Rust로 알고리즘 문제 풀어보기
  • 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로 알고리즘 문제 풀어보기
  • 20. TL; DR 2021 알고리즘 컨퍼런스 Rust로 알고리즘 문제 풀어보기