목록프로그래밍 (32)
이것도 알아야 하네?
csv 파일이란? csv 파일이란 comma separated values 의 약자로 데이터를 저장하는 파일 형식 중 하나입니다. 이름에서 예측할 수 있듯이 record에 저장되는 값들이 ',(comma)'를 이용하여 나열되어 있습니다. csv파일 읽기 csv파일도 파일형식이기 때문에 (1) open() 구문을 사용하여 일반 파일처럼 읽고 쓸 수 있고, 추가로 Python에서는 (2) csv 파일을 처리할 수 있는 기능을 가진 모듈을 built-in으로 제공하기 때문에 해당 모듈을 사용하여 더욱 쉽고 직관적으로 csv 파일을 조작할 수 있습니다. // test.csv 내용 a,b,c 1,2,3 4,5,6 (1) open() 사용하기 f = open(file_name) ... f.close() 파일을 읽을..
취업했을 당시에 회사를 다니더라도 나 == 회사가 되지 않도록 1년에 1자격증을 다짐했었고, 올해의 도전은 회사에서 하는 일과 관련있는 정보처리기사를 도전하였습니다. '코로나 시대'라는 불확실한 상황에서 시험을 아예 못칠 뻔도 했지만, 운이 좋게도 잠깐 좋았졌던 때를 틈타 취득할 수 있었습니다. 늦었지만, 2020년도에 시험을 본 경험으로, 정보처리기사에 대한 소개 및 사용한 교재를 포함한 공부 방법과 준비 기간을 공유하고자 후기를 작성합니다 정보처리기사 정보처리기사는 코로나 전에는 일년에 4번의 시험이 존재하며 다른 기사 시험과 동일하게 필기와 실기를 모두 합격해야지만 자격증을 취득할 수 있습니다. 동일 회차를 가정했을 떄 필기와 실기는 1달 정도의 term이 존재하고, 실기를 보기 위해서는 응시 자격..
최근 알고리즘 두뇌(?)가 멍청해지는 것을 느끼고, DP 관련 도서를 e-book으로 구매해서 기억을 찬찬히 다시 돌리고 있습니다. 그 중 구매한 "다이내믹 프로그래밍 완전 정복"이라는 책을 가장 먼저 읽었고, 책을 구매할 시에는 리뷰를 한 블로그를 발견하지 못하여 이 후에 구매하고자 하는 사람에고 도움이 되고자 이 글을 작성합니다. 처음에는 나동빈님의 코딩 저서처럼 한국산? 인 줄 알았지만, 그냥 번역본이었습니다... (표지만 봐도 지은이가 외국인인데.. 그냥 난 멍청...했...) 원제는 "Dynamic Programming for Coding Interviews"로 코딩 인터뷰에서 사용할 수 있는 동적 계산법을 소개한 책이며, 해당 책은 구글에 pdf..읍읍 책 리뷰 ★★☆☆☆ 장점 DP 관련 모든..
(시도 1) 코드 처음에는 단순히 graph를 변경하여 "Back Tracking" 방식으로 풀면 될 것 같아, 아래와 같이 코드를 짰다. #include #include #include #include using namespace std; void transpose_graph (int n, vector &graph, int k) { vector temp = graph[k]; vector col; for (int i = 0; i < n; i++) { col.push_back(graph[i][k]); graph[i][k] = temp[i]; } graph[k] = col; } void DFS(int n, vector graph, vector traps, int cur, int target, int shor..
#include using namespace std; int cube[7] = {0}; int x, y; int offset_x[] = {0, 0, -1, 1}; // east west north south int offset_y[] = {1, -1, 0, 0}; int WithinRange(int x, int y, int N, int M) { if (x >= 0 && x = 0 && y < M) return 1; else return 0; } void Solve(int * graph, int dir, int N, int M) { int next_x, next_y; switch(dir) { case 0: // east; next_x = x + offset_x[dir]; next_y = ..
#include #include using namespace std; int offset_r[4] = {0, 1, 0, -1}; int offset_c[4] = {1, 0, -1, 0}; int Max(int a, int b) { return a > b ? a : b; } int result; int WithinRange(int r, int c, int N, int M) { if (r = 0 && c >= 0) return 1; else return 0; } void Solve(int *graph, int *visit, int r, int c, int N, int M, int cnt, int _sum) { visit[r * M + c] = 1; if(cnt + 1 == ..