Analogrammer
close
프로필 배경
프로필 로고

Analogrammer

  • 분류 전체보기 (274) N
    • 프로그래밍 (193)
      • C, C++ (38)
      • Rust (49)
      • JAVA (13)
      • Javascript (7)
      • Python (2)
      • Baekjoon (80)
      • React (4)
    • 보안 (46) N
      • 하드웨어 해킹 (2)
      • 블록체인 (8)
      • wargame.kr (3)
      • 웹해킹 (5)
      • fuzzing (12)
      • ICS,OT 보안 (14)
      • 시스템해킹 (2) N
    • IT (3)
      • 네트워크 (1)
      • 시스템 (2)
    • 수학 (3)
      • 이산수학 (3)
    • 영어 (4)
    • 프로젝트 (0)
    • 기타 (13)
      • 블로그 관리 (2)
      • 활동 (3)
      • 팁 (8)
    • 리뷰 (3)
    • 자격증 (4)
    • 관심IT슈 (3)
  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

100 Exercises To Learn Rust - 2.5 Factorial 풀기

정답: // `factorial`이라는 이름의 함수를 정의합니다. 음수가 아닌 정수 `n`을 받고,// `n`의 팩토리얼인 `n!`을 반환합니다.// `n!`은 n까지의 모든 정수의 곱으로 정의됩니다.// 예를 들어, `5!`은 `5 * 4 * 3 * 2 * 1`로, `120`입니다.// `0!`은 `1`로 정의됩니다.// `factorial(0)`과 `factorial(1)`은 `1`을, `factorial(2)`는 `2`를 반환하고,// .. 이런 식으로 계속되기를 기대합니다.//지금까지 배운 것만을 사용하세요! 아직 반복(loop)는 배우지 않았으므로, //재귀(recursion)을 사용해야 할 겁니다!fn factorial(n: i32) -> i32 { if n == 0 || n == 1 {..

  • format_list_bulleted Rust
  • · 2025. 2. 27.
  • textsms

100 Exercises To Learn Rust - 2.4 Panics 풀기

fn speed(start: u32, end: u32, time_elapsed: u32) -> u32 { // TODO: `time_elapsed`가 0일 경우 사용자 지정 메시지와 함께 panic을 일으키세요. (end - start) / time_elapsed} 0으로 나누기(divide by zero) 오류는 흔히 발생하는 프로그래밍 오류로, 적절히 처리할 필요가 있다. 러스트에서는 오류를 처리하는 한 방법으로 panic을 제공한다.panic은 말 그대로 프로그램이 패닉에 빠진 상황을 의미한다. 즉, 복구 불가능한 오류(unrecoverable error)가 발생한 경우 panic이 발생한다. 개발자 역시 panic이 발생하도록 코드를 작성할 수 있는데, panic! 매크로를 사용한다. ..

  • format_list_bulleted Rust
  • · 2025. 2. 27.
  • textsms

100 Exercises To Learn Rust - 2.3 if_else 풀기

/// `n`이 짝수이면 `12`를,/// `n`을 3으로 나눌 수 있으면 `13`을,/// 아니면 `17`을 반환하기fn magic_number(n: u32) -> u32 { todo!()} 러스트에서 표현식(expression)은 값을 반환하는 반면, 문(statement)는 값을 반환하지 않는다. 일반적으로 statement는 세미 콜론(;)으로 마친다. 함수 본문에서 명시적으로 return을 사용하지 않아도, 그것이 표현식이라면 함수의 반환 값으로 처리된다. 따라서 다음과 같은 작성이 가능하다. if문 역시 표현식이기 때문이다.  정답:fn magic_number(n: u32) -> u32 { if n % 2 == 0 { 12 } else if n % 3 == 0 { ..

  • format_list_bulleted Rust
  • · 2025. 2. 27.
  • textsms

100 Exercises To Learn Rust - 2.2 Variables 풀기

/// Given the start and end points of a journey, and the time it took to complete it,/// calculate the average speed.pub fn speed(start: u32, end: u32, time_elapsed: u32) -> u32 { //TODO: `distance`라는 이름의 변수를 정의하고, 테스트를 통과할 수 있도록 올바른 값을 지정하기 //`distance` 변수의 타입을 명시해야 할 필요가 있을까요? 그렇다면 이유는 무엇일까요? // Don't change the line below distance / time_elapsed} distance 변수는 현재 정의되지 않은 채 사용되고 있으므..

  • format_list_bulleted Rust
  • · 2025. 2. 27.
  • textsms

100 Exercises To Learn Rust - 2.1 Integers 풀기

fn compute(a: u32, b: u32) -> u32 { // TODO: 컴파일러 오류를 수정하고 테스트가 통과할 수 있도록 아래 줄을 수정 let multiplier: u8 = 4; a + b * multiplier}#[cfg(test)]mod tests { use crate::compute; #[test] fn case() { assert_eq!(compute(1, 2), 9); }} 러스트는 정적 타입 언어(statically typed language)로, 타입 강제 변환에 엄격하다. 위의 코드에서도 u8 타입의 multiplier 변수를 u32 타입의 b와 곱하려고 시도하는데, 이는 러스트 컴파일러가 강제로 타입을 변환하지 않기 때문에 m..

  • format_list_bulleted Rust
  • · 2025. 2. 27.
  • textsms

100 Exercises To Learn Rust - 1.1 syntax 풀기

TODO: 테스트가 통과할 수 있도록 함수 시그니처를 수정하기 fn compute(a, b) -> u32 { // Don't touch the function body. a + b * 2}#[cfg(test)]mod tests { use crate::compute; #[test] fn case() { assert_eq!(compute(1, 2), 5); }} 테스트에서는 compute(1,2)의 결과가 5와 같은지 검사하고 있다.다만 바로 컴파일되지는 않는데, 이는 함수 시그니처에서 매개변수로 a와 b를 넘기고 있지만 무슨 타입인지 명시하지 않고 있기 때문이다. a와 b를 연산에 사용하고 바로 반환하므로, 타입은 반환값과 동일하게 u32로 지정해야 한다. 정답..

  • format_list_bulleted Rust
  • · 2025. 2. 27.
  • textsms
  • navigate_before
  • 1
  • ···
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • ···
  • 46
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (274) N
    • 프로그래밍 (193)
      • C, C++ (38)
      • Rust (49)
      • JAVA (13)
      • Javascript (7)
      • Python (2)
      • Baekjoon (80)
      • React (4)
    • 보안 (46) N
      • 하드웨어 해킹 (2)
      • 블록체인 (8)
      • wargame.kr (3)
      • 웹해킹 (5)
      • fuzzing (12)
      • ICS,OT 보안 (14)
      • 시스템해킹 (2) N
    • IT (3)
      • 네트워크 (1)
      • 시스템 (2)
    • 수학 (3)
      • 이산수학 (3)
    • 영어 (4)
    • 프로젝트 (0)
    • 기타 (13)
      • 블로그 관리 (2)
      • 활동 (3)
      • 팁 (8)
    • 리뷰 (3)
    • 자격증 (4)
    • 관심IT슈 (3)
최근 글
인기 글
최근 댓글
태그
  • #프로그래밍
  • #C언어
  • #연습문제
  • #코딩
  • #코딩테스트
  • #tistory
  • #백준
  • #정보보안
  • #파이썬
  • #문제풀이
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.