Learning Go 📚
러닝 고 목차
러닝 고 목차
java kotlin관련 문서 Index
백준 입출력 코드 분석
Solution rust soulution kotlin solution Memo 그리디 입문 문제, 코틀린 풀이를 더 줄여보려다가 그냥 저기가 딱 적당한 것 같다. 설명은 스킵 // https://www.acmicpc.net/problem/5585 // Baekjoon - 5585 use std::io::{self, Read, Write}; fn main() { let mut stdin = io::stdin().lock(); let mut stdout = io::stdout().lock(); let mut input = String::new(); stdin.read_to_string(&mut input).unwrap(); let mut lines = input.lines(); let price: usize = lines.next().unwrap().parse().unwrap(); let mut change = 1000 - price; let money = [500, 100, 50, 10, 5, 1]; let mut result = 0; for coin in money { result += change / coin; change %= coin; } write!...
Solution rust soulution kotlin solution Memo 그리디 입문 문제, 코틀린 풀이를 더 줄여보려다가 그냥 저기가 딱 적당한 것 같다. // Baekjoon - 1026 // https://www.acmicpc.net/problem/1026 use std::io::{self, Read, Write}; fn main() { let mut stdin = io::stdin().lock(); let mut stdout = io::stdout().lock(); let mut input = String::new(); stdin.read_to_string(&mut input).unwrap(); let mut lines = input.lines(); let _n: usize = lines.next().unwrap().parse().unwrap(); let mut arrays: Vec<Vec<i32>> = lines .take(2) .map(|line| { line.split_whitespace() .map(|s| s....
Solution rust soulution kotlin solution Memo 전형적인 백트래킹 + 가짓수를 줄여주는 메모이제이션 사용 // Baekjoon - 1342 // https://www.acmicpc.net/problem/1342 use std::{ collections::HashMap, io::{self, Read, Write}, }; fn get_happy_num_count( len: usize, tmp_len: usize, last_char: Option<usize>, counts: &mut [i32; 26], memo: &mut HashMap<(usize, Option<usize>, [i32; 26]), i32>, ) -> i32 { if tmp_len == len { return 1; } let key = (tmp_len, last_char, *counts); if let Some(&cached) = memo.get(&key) { return cached; } let mut result = 0; for i in 0....
15.0 Smart Pointers Smart pointers, on the other hand, are data structures that act like a pointer but also have additional metadata and capabilities. This pointer enables you to allow data to have multiple owners by keeping track of the number of owners and, when no owners remain, cleaning up the data. burrow 시스템과 연관해서 봐야하는것들이 있다. 참조는 데이터를 burrow 해주지만, smart pointer는 해당 데이터를 소유한다. Aspect Reference (&T) Smart Pointer (Box<T>, etc....
Solution rust soulution kotlin solution Memo 브루트포스 야구 문제 시간복잡도를 계산하고 총 제약조건 하에 계산이 되는지 확인 1000개의 가능한 경우의수를 번호를 모두 입력조건이랑 비교한다 // Baekjoon - 2503 // https://www.acmicpc.net/problem/2503 use std::io::{self, Read, Write}; fn is_valid(candidate: &str, question: &str, strike: i32, ball: i32) -> bool { let mut s = 0; let mut b = 0; for (i, c) in candidate.chars().enumerate() { for (j, q) in question.chars().enumerate() { if c == q { if i == j { s += 1; } else { b += 1; } } } } s == strike && b == ball } fn main() { let stdin = io::stdin(); let stdout = io::stdout(); let mut stdin = stdin....
Solution rust soulution kotlin solution Memo 브루트포스 조합 문제 비트마스킹으로 풀 수 있다는 풀이를 보기는 했지만 오랫만이라 잘 되지 않았다. // Baekjoon - 1182 // https://www.acmicpc.net/problem/1182 use std::io::{self, Read, Write}; fn combination( vec: &Vec<i32>, selected: &mut Vec<i32>, idx: usize, level: usize, sum: i32, count: &mut i32, ) { if selected.len() == level { let total: i32 = selected.iter().sum(); if total == sum { *count += 1; } return; } for i in idx....
Solution rust soulution kotlin solution Memo 간단한 정렬 문제 2 비교자만 잘 구현해두면 고민없이 풀리는 문제 러스트 입출력을 좀 우아하게 할 수 있는 것 같다. // Baekjoon - 23246 // https://www.acmicpc.net/problem/23246 use std::cmp::Ordering; use std::io::{self, Read, Write}; #[derive(Debug)] struct Climber { id: i32, lead: i32, spead: i32, boldering: i32, } impl Climber { fn total(&self) -> i32 { self.lead * self.spead * self.boldering } fn sum(&self) -> i32 { self.lead + self....