본문 바로가기
728x90
반응형

전체 글262

Rust 설치부터 실행까지 (데이터 타입, 튜플, 어레이) - 5 오늘은 Rust의 데이터타입에 대해 알아보고자 합니다.타 언어JAVA의 경우 데이터 타입으로 int, long, double이 존재합니다. C++의 경우 데이터 탕입으로 int, long long, long double 등 다양한 타입이 존재합니다.정적 타입Rust는 정적 타입의 언어로, 모든 변수의 타입이 컴파일 시점에 정해져 있어야 합니다. 다음과 같이 "42"라는 문자열을 정수형으로 변환하고자 할 때, u32라는 타입으로 지정해줍니다.let guess: u32 = "42".parse().expect("Not a number!");만약 u32 타입을 지정하지 않은 경우 다음과 같이 error가 발생합니다.help: consider giving `guess` an explicit type스칼라 타입Ru.. 2024. 12. 28.
Rust 설치부터 실행까지 (섀도어) - 4 오늘은 이전에 살짝 살펴봤던 RUST의 섀도잉(shadowed)에 대해 알아보고자 합니다.복습이전에 rust에서 변수를 재선언 할 수 있다. 라고 이야기했었습니다. 다음과 같은 코드의 경우 x라는 변수를 중복으로 사용하고 있습니다.fn main() { let x = 5; let x = x + 1; println!("The value of x is: {x}");}그치만 println! 에 기록되는 x의 값은 5 + 1인 6이 됩니다.섀도잉그럼 다음과 같은 경우에는 출력값이 어떻게 될까요?fn main() { let x = 5; let x = x + 1; { let x = x * 2; println!("The value of x in the inner.. 2024. 12. 26.
Rust 설치부터 실행까지 (형변환 및 에러 처리) - 3 오늘의 Rust의 문자열 입력 및 형변환, 반복문에 대해 배워보고자 합니다.입출력rust는 기본적으로 std::io를 활용하여 입력합니다. C++의 std::cin과 비슷한 형식입니다.use std::io;fn main() { let mut guess = String::new(); io::stdin() .read_line(&mut guess) .expect("Failed to read line"); println!("You guessed: {guess}");}불변 / 가변다음과 같이 guess에 String타입의 값을 입력합니다.let mut guess = String::new();여기서 rust의 불변과 가변 형식이 드러나게 됩니다. 다음과 같이 선언하여 사용하.. 2024. 12. 20.
Rust 설치부터 실행까지 (feat. dependencies) - 2 오늘의 Rust의 dependencies 추가하여 외부 라이브러리를 가져와 프로젝트에 적용하는 방법과 build하여 exe 파일로 만들어 배포하는 방법에 대하여 알아보고자 합니다.dependencies에 외부 라이브러리 추가일반적으로 JAVA와 같은 경우 pom.xml에 dependency로 외부 라이브러리 프로젝트 명, 해당 프로젝트에서 가져온 라이브러리명, 버전 정보를 추가하여 외부 라이브러리를 가져올 수 있습니다. C++이나 C#또한 lib이나 dll로 만든 파일을 프로젝트에 입혀 사용할 수 있습니다. Rust의 경우 cargo를 통하여 외부 라이브러리르 추가할 수 있습니다.cargo new main이라는 명령어를 사용하면 main.rs가 포함된 프로젝트가 만들어집니다.프로젝트 파일을 살펴보다보면 .. 2024. 12. 19.
Rust 설치부터 실행까지 (feat. VScode) - 1 이전부터 학습해보고 싶던 TypeScript, Rust, Golang 중 Rust에 대해 설치부터 실행과정까지 정리해보고자 합니다. 백준의 bubbler님의 도움을 받았습니다.설치Rusthttps://www.rust-lang.org/tools/install Install RustA language empowering everyone to build reliable and efficient software.www.rust-lang.orgWindow의 경우 해당 사이트에서 exe파일 실행 후, 1번을 입력하여 rust를 설치합니다.VScodehttps://code.visualstudio.com/ Visual Studio Code - Code Editing. RedefinedVisual Studio Code .. 2024. 12. 18.
[백준] 6549번 : 히스토그램에서 가장 큰 직사각형 https://www.acmicpc.net/problem/6549 유명한 스택으로 풀리는 문제입니다.스택에 이전 값들을 저장해두면서, (현재 index - 이전 index) * 이전값이 가장 큰 값을 구하는 문제입니다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Stack;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(.. 2024. 12. 15.
[백준] 2325번 : 개코전쟁 https://www.acmicpc.net/problem/2325 해당 문제는 m개의 간선 중 1개의 간선을 제외하였을 때, 최단거리 중 가장 오래걸린 시간을 구하는 문제입니다.모든 m개의 간선에 대해서 제거하고 dijkstra를 도는 방식으로 진행하게 되면 시간초과가 발생하게 됩니다.그러나, 간선을 제거하지 않은 dijkstra를 돌면서 최단거리로 이동하였을 때의 간선만 골른 후, 다음 dijkstra부터 간선을 제거하면서 진행하면 됩니다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import .. 2024. 12. 8.
[백준] 13308번 : 주유소 https://www.acmicpc.net/problem/13308 각 node별 기름의 금액이 주어지고, m개의 양방향 간선이 주어질 때, N에 도착할 수 있는 최소 비용을 출력하는 문제입니다. 이동할 때마다, 가장 저렴한 기름 가격을 구하면서, cost를 갱신시킵니다.특정 기름을 소비하여, 특정 노드에 도착할 때를 구하면서 가야하므로 2차원 dist 배열을 사용하면 됩니다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util.PriorityQueue;import java.u.. 2024. 12. 1.
[백준] 28282번 : 운명 https://www.acmicpc.net/problem/28282 왼양말, 오른양말을 다른 종류의 양말로 신는 경우의 수를 구하는 문제입니다. (왜?)왼 양말 종류 index++, 오른 양말 종류 index++ 한 후, k번까지 곱한 값을 빼면 됩니다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStre.. 2024. 11. 27.
반응형