분류 전체보기
-
[Python] 데이터 타입(Data Type)프로그래밍/Python 2020. 11. 21. 02:51
데이터 타입(Data Type) 리스트 (list) 리스트는 다른 프로그래밍 언어의 배열과 비슷한 성질을 갖는 데이터 타입 인덱스는 0부터 시작하며, 파이썬에서는 마이너스 인덱스를 지원 리스트의 마지막부터 역순으로 값을 참조할 수 있음 (머신러닝 코드에서 슬라이스와 함께 자주 사용됨) a = [10, 20, 30, 40, 50] # 0, 1, 2 ... 인덱스는 리스트 처음부터 시작 # -1, -2, -3 ... 인덱스는 리스트 마지막부터 시작 print("a[0] == ", a[0], ", a[1] == ", a[1], ", a[2] == ", a[2], ", a[3] == ", a[3], ", a[4] == ", a[4]) print("a[-1] == ", a[-1], ", a[-2] == ", a[..
-
2020 정보처리기사 합격 후기일상 2020. 11. 18. 14:29
원래는 1회에 보려고 했던 시험이었는데, 코로나 때문에 미루다 미루다 드디어 정처기 시험을 합격하였습니다. 공부법은 교재를 사긴했는데, 앞에 조금 빼고는 거의 풀지 않았고 (돈 아깝지만 ㅠ) 기존에 나왔던 기출 문제(2017 ~ 2020) 내용들을 아래와 같이 정리해서 용어나 개념들에 익숙해지려고 노력했습니다. transferhwang.tistory.com/185 정보처리기사 실기 용어 정리 반정규화(비정규화) 데이터베이스의 성능 향상을 위해 중복을 허용하고 조인을 줄이는 방법이다. 정규화 관계형 데이터베이스에서 중복을 최소화하기 위해서 데이터를 구조화하는 작업이다. XM transferhwang.tistory.com 필기 시험은 무난하게 통과하였고, 실기는 3회차를 봤었는데 헝가리안 표기법, 기술적 은..
-
[프로그래머스/Level 2] 조이스틱 (C++)알고리즘 문제풀이/프로그래머스 2020. 11. 17. 17:57
programmers.co.kr/learn/courses/30/lessons/42860 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 굉장히 어려웠던 그리디 유형 문제 한방향으로만 진행되는게 최소값이 아닐 수 있다. 따라서 왼쪽, 오른쪽으로 진행을 각각 해보고, 두개의 값중 최소값을 구하는 과정을 반복해야한다. 반례 : BBBAAAB -> 9 #include using namespace std; int solution(string name) { int answer = 0; string t..
-
[C/C++] StringStream 사용법 (문자열 나누기)프로그래밍/C,C++ 2020. 11. 14. 20:07
// C++ 에서는 split 메서드가 따로 없어서 이와같이 구현해야 한다. #include using namespace std; vector split(string s, string d) { // 입력값, 구분자 vector res; long long pos = 0; string token = ""; while ((pos = s.find(d)) != string::npos) { token = s.substr(0, pos); res.push_back(token); s.erase(0, pos + d.size()); } res.push_back(s); return res; } int main() { string s = "안녕하세요 숭황이는 멍청이 해삼이에요!"; string d = " "; vector v ..
-
[프로그래머스/Level 2] 짝지어 제거하기 (C++)알고리즘 문제풀이/프로그래머스 2020. 11. 10. 16:21
programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 짝을 지어서 제거하거나, 옳고 그름을 판단할 때 스택을 이용하는 경우가 많은 것 같다. 1. 스택을 선언 2. 스택이 비어있지 않으면서 스택의 top과 현재 인덱스의 문자가 같으면 pop 3. 위를 만족하지 않으면 현재 인덱스의 문자를 스택에 push 4. 2번과 3번을 반복한 후, 스택이 비어있다면 1을 리턴, 비어있지 않다면 0을 리턴 #include #inc..
-
[프로그래머스/Level 2] JadenCase 문자열 만들기 (C++)알고리즘 문제풀이/프로그래머스 2020. 11. 10. 15:40
programmers.co.kr/learn/courses/30/lessons/12951 코딩테스트 연습 - JadenCase 문자열 만들기 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 programmers.co.kr #include #include using namespace std; string solution(string s) { for(int i = 1; i < s.size(); i++) { if(s[i - 1] == ' ') s[i] = toupper(s[i]); // 앞에 공백이 있으면 현재 위치 대문자 else s[i]..
-
[프로그래머스/Level 2] 행렬의 곱셈 (C++)알고리즘 문제풀이/프로그래머스 2020. 11. 9. 16:34
programmers.co.kr/learn/courses/30/lessons/12949 코딩테스트 연습 - 행렬의 곱셈 [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] programmers.co.kr 은근 헷갈렸던 문제 transferhwang.tistory.com/209 해당 문제의 심화(?) 문제이다. #include #include using namespace std; vector solution(vector arr1, vector arr2) { vector answer; for(int i = 0; i < arr1.size(); i++) { // ar..