목록분류 전체보기 (747)
No Rules Rules
카드 구매하기 https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net // woohyeon.kim // https://www.acmicpc.net/problem/11052 #include #include using namespace std; int main() { ios::sync_with_stdio(false), cin.tie(), cout.tie(); register int N, arr[1001], dp[1001]; cin >> N; for (regist..
이친수 https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net // woohyeon.kim // https://www.acmicpc.net/problem/2193 #include using namespace std; int main() { ios::sync_with_stdio(false), cin.tie(), cout.tie(); register long long N, dp[91][2]; dp[1][0] = dp[1][1] = 1; cin ..
오픈채팅방 https://programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr // woohyeon.kim #include #include #include #include using namespace std; vector token_string(const string& text) { vector result; string token; stringstream ss(text); while(getline(ss, token, ' ')) { result.push_back(token);..
문자열 압축 https://programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr // woohyeon.kim #include #include #include using namespace std; void convert(const string& text, const int& group_count, vector& out) { if(!out.empty()) out.clear(); for(int idx = 0 ; idx < text.size() ; idx += group_count)..
신규 아이디 추천 https://programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr // woohyeon.kim #include #include #include #include #include using namespace std; string solution(string new_id) { // 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. transform(new_id.begin(), new_id.end(), new_id.begin(), ::tolower..
로또의 최고 순위와 최저 순위 https://programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr // woohyeon.kim #include #include #include #include #include using namespace std; vector solution(vector lottos, vector win_nums) { const auto zero_count = count(lottos.begin(), lottos.end(), 0); auto right_count ..
신고 결과 받기 https://programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include #include #include using namespace std; vector token_string(const string& text) { vector result; string token; stringstream ss(text); while(getline(ss, token, ' ')) { result.emplace_back(token); ..
지금은 기억도 나지 않지만 한때 대세는 해킹이지!!! 라며 관심 가지고 공부했던 리버스 엔지니어링과, 그때 함께 많이 찾아보던 netcat 입니다. netcat은 TCP또는 UDP를 이용하여 데이터를 읽고 쓰는 유틸리티입니다. OS를 가리지 않는다는 장점이 있고, 윈도우는 따로 설치를 해야 하지만 리눅스의 경우, 보통 배포에 포함된 경우가 많습니다. 윈도우의 경우, 설치 후 환경 변수에 등록만 해둔다면, 리눅스와 마찬가지로 "nc xxxx" 과 같이 명령어로 사용할 수 있습니다. netcat, ncat, nc 로 불리는 아이입니다. 그럼 윈도우 OS 기준으로 설치부터 사용까지 정리 해보겠습니다. netcat 1.11 for Win32/Win64 eternallybored.org 일단 위 경로를 통해 ne..
팀에서 수행했던 과제중 최초로 WSL을 사용하고 있습니다. 왜 다들 VM을 사용하지? 라는 단순한 의문에서 시작된 저의 결정입니다. WSL이 뭐지? 리눅스용 윈도우 하위 시스템(Windows Subsystem for Linux, WSL)을 의미합니다. 알고 있는 내용을 적어봤자 위키보다 잘 알순 없으니 링크를 걸께요. 리눅스용 윈도우 하위 시스템 - 위키백과, 우리 모두의 백과사전 리눅스용 윈도우 하위 시스템 윈도우에서 네이티브로 리눅스 실행 파일을 실행하기 위한 호환성 계층 ko.m.wikipedia.org VM에 비해 빠릿빠릿한 속도를 보여준다는게 가장 큰 장점. 메모리 또한 충분하다는게 몸소 느껴집니다. (SSH를 이용한 Visual Studio간 디버깅도 상당히 만족스럽습니다.) 그런데 오늘 문제..
코드 리뷰를 하거나 팀내 후배들에게 교육을 할때마다 항상 강조하는 말이 있습니다. 코드에 const를 덕지덕지 붙여라! 목적이 있는 변수나 함수를 선언할때는 특히나 더! 왜일까요? 별거 아닌거 같지만 const를 추천할까요? const는 여러 상황에서 사용 가능합니다만 일단 순서대로 얘기해보려고 합니다. 객체의 const 우리가 일반적으로 사용하는 일반 변수에서의 const는 다음과 같은 의미를 갖습니다. int main() { int value1 = 5; // value1이라는 녀석의 값은 5야 value1 = 6; // value1이라는 녀석을 6으로 바꿀래! const int value2 = 10; // value2라는 녀석의 값은 10이긴한데... // 초기식의 값으로 유지할꺼야! value2 =..