일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 백트래킹
- 2798
- 14501
- 15649
- 14888
- rust설치
- 팰린드롬수
- 14500
- 테트로미노
- 10872
- 13458
- 3190
- rustup
- 15650
- 13460
- 러스트란 #cargo
- 백준
- 분해합
- C++
- 문제풀이
- 연산자 끼워넣기 성공
- 14891
- 15683
- C
- 14890
- 9663
- 15652
- 14503
- 1259
- 15651
목록Easy-So-Easy (26)
Easy-So-Easy
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bCd4rP/btsF5FU42mZ/0M9YM6TkWfwMTGLUMzh1l0/img.png)
cargo는 러스트의 빌드 시스템 그리고 패키지 매니저이다. 프로젝트가 방대해질수록 이 cargo를 써야한다는 말이다. 꼭 쓰라는 얘기는 아니고.. 쓰면 프로젝트 관리에 더욱 용이하단 말..ㅎㅎ 러스트 공식문서에서도 Cargo를 위와같이 dependencies를 추가하면 더욱 쉽게 관리할 수 있다고 한다. 또한 git 을 이용한 작업도 쉬워진다. Cargo 버전 확인 $ cargo --version Cargo 프로젝트 만들기 $ cargo new hello_cargo $ cd hello_cargo src/main.rc에 아래의 코드가 생성된 것을 볼 수 있다. fn main() { println!("Hello, world!"); } Cargo 빌드하기 $ cargo build Compiling hello..
rustup 설치 $ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh 설치되었는지 확인하기 $ rustc --version 업데이트 및 삭제 $ rustup update $ rustup self uninstall
러스트(RUST) 란? 러스트는 모질라 리서치에서 개발한 다중 패러다임, 범용 프로그래밍 언어로 순수 함수형 프로그래밍, 액터 기반 병렬 프로그래밍, 명령형 프로그래밍, 객체 지향 프로그래밍 스타일 지원한다고 한다. 또한, 러스트는 C++대체제라고 불릴만큼 성능면에서 C++와 비슷한 수준의 퍼포먼스를 보여주고 있으며, white house(미국 백악관)에서도 메모리 보안에 취약할 수 있는 C++을 금지시키고 메모리 안정성을 고려한 Rust, Go, C#의 언어 전환을 권고했다. 빌드시스템 카고(cargo)는 러스트의 빌드 시스템이다. 러스트는 CPU 병행처리 및 메모리 자원 누수 방지등의 언어 철학 바탕위에 설계된 취지에 맞게 안전성으로 제작된 프로그램으로 빌드 과정에서 사전에 불안정한 결과를 방지할 수..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/6bcU8/btssuybp7Vl/GnEF3Ych2rGhbiBgoHOxDk/img.png)
Flutter 작동 방식 main 함수 get -> runApp() 호출 -> widget tree 랜더링 Position & Named (매개변수) Positional : 위치에 따른 매개변수 전달 void add(a, b) { print(a + b); } add(5, 10); // 5는 a의 값으로, 10은 b의 값으로 전달 Positional 파라미터 전달 시 → 값을 안 넣어주면 오류가 날 수 있음 ⇒ 옵셔널로 처리하여 해결 void add(a, [b]) { print(a + b); } // -------------------- // default value 가능 void add(a, [b = 5]) { print(a + b); } add(10); // 15 출력 add(10, 6); // 16 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/doRO6T/btssuu65ny9/8l4mj4ryutWAj1mySRFUkK/img.png)
리눅스 환경을 기반으로 세팅하였음. 기본 세팅 1. Flutter 설치 sudo snap install flutter --classic 2. Flutter 설치 마무리( 버전 확인 커멘드 설치 마무리 진행 ) flutter --version 3. Flutter SDK 경로 확인 방법 flutter sdk-path 4. Flutter 종속성 확인 flutter sdk-path 에러 사항들 Android SDK에서 따로 설치해야할 경우 setting → Languages & Frameworks → Android SDK → (아래와 같이 설정) ** 가장 최신버전을 설치할 경우 flutter에서 지원을 하지 않을 수 있음 → 오른쪽 하단 Show Package Details 체크 이후 CLI 창으로 돌아와 아..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bLVW2e/btsomPOQgx4/ujZW3p53Klmn1RHuLWpPh0/img.png)
백준 15683 문제(Problem) 풀이 & 전체 코드(Solution & Code) #include #include using namespace std; int n, m, res = 99; char map[9][9]; // 방향 정보를 저장하는 배열 // dir - 상: 0, 우: 1, 하: 2, 좌: 3 int dx[] = {0, 1, 0, -1}; int dy[] = {-1, 0, 1, 0}; // CCTV 정보를 저장하는 구조체 typedef struct { int x; int y; int dir; char type; } CCTV; vector v; // 모든 CCTV 정보를 저장하는 벡터 // 해당 방향으로 감시 가능한 영역을 설정하는 함수 void setting(int dir, int x, ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/crkrnI/btsnuZkp2BA/G9qCiqKkr43ZXqDZvvk0q0/img.png)
백준 14891 문제(Problem) 풀이 & 전체 코드(Solution & Code) #include using namespace std; int res, cnt=1; char wheels[5][9]; // 톱니바퀴를 돌리는 함수 void spin(int w, int dir) { char temp; if(dir==1) { // 오른쪽으로 spin temp=wheels[w][8]; for(int i=8; i>1; i--) wheels[w][i]=wheels[w][i-1]; wheels[w][1]=temp; } else { // 왼쪽으로 spin temp=wheels[w][1]; for(int i=1; i4) return; // 기저조건: 오른쪽에 톱니바퀴가 없을 때 if(wheels[w][3] != wh..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/77biA/btsmHirw1pI/h3jMZWAqqtbreh4lkEe5lK/img.png)
백준 14890 문제(Problem) 풀이 & 전체 코드(Solution & Code) #include #include #include using namespace std; int n, l, map[101][101], cnt, visited[101][101]; // 세로 방향(열)의 경로의 유효성을 확인하는 함수 int check_1(int x) { for(int i=0; i0; i--) { int k = map[i][x] - map[i-1][x]; // 높이 차이가 1이상이면 0 반환 if(k != 1 && k != 0 && k != -1) return 0; // 경사를 아래로 향하게 놓는 경우 if(k == 1) { i--; // 이미 방문했으면 0 반환 if(visited[i][x]) return ..