2024/11/10 4

프로그래머스 LV.1 완주하지 못한 선수

https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해당 문제는 크게 2가지 해법을 가진다.1. sort를 통한 단순 비교로 계산할 수 있는 경우2. 해쉬맵을 이용하여 통과한 선수를 제거하는 경우 sort는 비교적 쉽다.STL을 익숙하게 사용하기 위해 다음과 같이 코드를 짰다. #include #include #include using namespace std;string solution(vector participant, vector completion) { string answer = ..

연산자 오버로딩을 남용하는 것

남용하여 나만의 의미로 만들면협업의 효율성이 떨어질 수 있다.자유도가 높은 언어일 수록애매하게 쓰지 않도록 함수로 만드는 것이 좋다. (ex 자바처럼)가령 다음과 같이벡터 *= 벡터 의 코드와 같은 경우에연산자 오버로딩을 사용했다면 해당 경우가 벡터 곱샘이 외적인지 내적인지 모호성을 띄게 된다.이를 함수로 명확히 이름을 통해 알 수 있도록 코드를 제작하여,dotproduct 인지 crossproduct 인지 명확한 이름을 사용하여 함수를 짠다면가독성도 높고, 해당 코드에 대한 의미가 명확해진다.대입 연산자와 복사 생성자의 유사성복사 생성자와 대입 연산자는 거의 비슷하지만차이점은대입 연산자는 메모리를 해제해 줄 필요가 있을 수 있으며,대입 연산자는 이미 만들어 진 객체를 쓰고복사 생성자는 방금 생성된 객체..

프로그래머스 LV.2 피로도

https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr푸는 방법은 크게 2가지이다. 1. 배열의 모든 경우의 수를 싹 돌아보는 것2. DFS로 푸는 것이다. 1번째의 경우에는 next_permutation 알고리즘을 써서 모든 경우의 수를 탐색할 수 있다. next_permutation함수는 std의 algorithm 라이브러리 안에 내장된 함수이다.next_permutation함수는 해당 집합의 모든 순열을 구해준다. 예를 들어 {1,2,3}이라는 원소를 가진 집합이 있다면{1,2,3}{1,3,2..

Unix/Linux Architecture

KenelOS의 핵심 기능을 모아 놓은 것이다.System callOS의 기능 중 응용프로그램이 사용하도록 허락된 기능들의 집합이다.Shell사용자와 OS 사이의 인터페이스사용자의 입력을 해석하여 커널의 함수 호출Utilities응용 프로그램 예) 웹 브라우저, 파워포인트 등  Linux의 특징높은 안정성강력한 네트워크 기능GNU 소프트웨어와 함께 배포된다.오픈소스 OS이다.오픈소스이다 보니, 다양한 플랫폼에 이식이 가능하다.리눅스는레드헷, 우번투 등의 기반이 되었다.유닉스 리눅스는 CUI가 기본이다.