숫자 패턴
Coddy Rust 여정의 기초 섹션에 포함된 레슨. 75개 중 73번째.
피라미드와 같은 패턴을 만들 때는 반복되는 문자로 문자열을 만들어야 하는 경우가 많습니다. Rust에서는 이를 구현하는 여러 방법이 있지만, 가장 간단한 방법 중 하나는 다음과 같습니다.
let str = "a".repeat(10);str에는 "aaaaaaaaaa"가 저장됩니다.
repeat() 메서드에는 i32와 같은 일반 정수형이 아니라 usize 인수가 필요합니다.
usize는 Rust의 부호 없는 포인터 크기 정수형입니다. 크기는 아키텍처에 따라 달라집니다(32비트 시스템에서는 32비트, 64비트 시스템에서는 64비트).
let count: usize = 5;
let repeated = "x".repeat(count); // 이렇게 하면 됩니다i32 또는 다른 정수형이 있다면 변환해야 합니다.
let num: i32 = 7;
let repeated = "y".repeat(num as usize);
// 'as usize'로 변환이 코드는 컴파일되지 않습니다:
let repeated = "z".repeat(num);
// 오류: usize가 필요하지만 i32가 발견됨챌린지
쉬움각 테스트 케이스에는 하나의 입력, 즉 홀수 정수가 있습니다.*를 사용하여 n단 피라미드를 출력하세요. 예시는 다음과 같습니다.
1단 피라미드
*5단 피라미드
*
***
*****7단 피라미드
*
***
*****
*******입력
- 사용자가 입력하는 홀수 정수
n - 1 <=
n< 1000
팁
- 작은 삼각형부터 시작해 보세요.
- 막히면 힌트를 확인하세요 ;)
n은 맨 아래 행에 있는*의 개수를 나타냅니다.
참고: Rust에서 .repeat()처럼 어떤 항목의 "크기" 또는 "길이"를 다루는 함수에는 i32 대신 usize라는 타입이 필요합니다. usize는 음수가 될 수 없는 일반 정수라고 생각하면 됩니다.
직접 해보기
use std::io;
fn main() {
let mut input_n = String::new();
io::stdin().read_line(&mut input_n).unwrap();
let n: usize = input_n.trim().parse().unwrap();
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 Rust 컴파일러