개발 관련 기타 (73) 썸네일형 리스트형 [프로그래머스] (C++) 단체사진 찍기 문제는 이 링크를 타고 가시면 있습니다. 힌트 이 문제는 완전탐색 문제 입니다. 이 문제는 std::next_permutation 함수를 사용하여 벡터를 ascending order 에서 descending order로 한번 한번 보낼 수 있습니다. // while(vector.next_permutation()) 사용 int형 숫자와 char형 글자를 비교하지 않도록 주의하세요. 예.) if (0 == '0') 소스 코드 #include #include #include #include #include using namespace std; int solution(int n, vector data) { int answer = 0; vector line{'A', 'C', 'F', 'J', 'M', 'N', '.. [프로그래머스] (C++) 숫자의 표현 문제는 이 링크를 타고 가시면 있어요! 이 문제는 비교적 간단하게 풀었어요 힌트: 컴퓨터는 사람이 귀찮아 하는 반복적인 수학 계산을 대신 잘해주죠. #include int solution(int n) { int answer = 0; int addNum; int total; for (int i = 1; i = n) break; addNum++; } } return answer; } [C++] std::max, std::max_element 또는 std::sort 에서 compare 함수의 역할 template T max( std::initializer_list ilist, Compare comp ); std::initializer_list 관련해서는 다른 문서를 읽어보면 좋아요. template ForwardIt max_element( ForwardIt first, ForwardIt last, Compare comp ); ForwardIt는 한쪽 방향으로만 전진하는 Iterator를 뜻합니다. template void sort( RandomIt first, RandomIt last, Compare comp ); RandomIt는 .. [프로그래머스] (C++) 프린터 문제는 이 링크를 타고 가시면 있습니다. 저는 이 문제를 풀면서 다음 세가지를 생각해보았습니다. 문제에서 나온 로직 자체를 프로그래밍 하면 계산 시간이 너무 오래 걸린다. 어떤 꼼수가 없을까? 굳이 번호를 뒤로 가져다 붙인다고 생각하기보다 번호를 가리키는 화살표가 있어서 한칸 씩 움직이고 끝까지 갔을 때는 다시 돌아오면 되지 않을까? 다음과 같은 코드로 문제를 해결하였습니다. #include #include #include using namespace std; bool compare(const int & a, const int & b) { return (a < b); } int solution(vector priorities, int location) { int answer = 0; vector::ite.. [C++] 클래스 멤버 함수 (class member function) 를 static (정적) 으로 선언 하는 이유 본론으로 가기 전에 정적 멤버 변수 (class member variable) 부터 보도록 하겠습니다. 정적 멤버 변수는 전역 변수와 저장원리가 같습니다. 정적 멤버 변수는 클래스 외부 (file scope) 단위로 초기화 되어야 합니다. 글로벌 변수를 초기화 하는 것처럼. 소스 코드 파일 (.cc) 내 함수 외부에서 int class::variable = 0 이런식으로 초기화 되어야 합니다. private로 선언한 정적 멤버 변수 역시 같은 방법으로 초기화 되어야 합니다. private 클래스 멤버의 경우 클래스 함수 내에서만 접근 가능하지만 이같이 소스 파일에 적어 초기화를 할 때만 예외를 둡니다. 정적 멤버 변수는 클래스 내 모든 객체가 공통으로 사용 할 수 있습니다. public으로 선언된 정적 .. [bash] 문자열 다루기 "ABCDEFG" 라는 문자열이 있을 때 #!/bin/bash STR="ABCDEFG" 1. ABCD를 자르고 EFG만 쓰고 싶다면 STR=${STR:4} # 또는 STR=${STR:-3} 2. EFG를 자르고 ABCD만 쓰고 싶다면 STR=${STR:0:4} 3. 문자열의 길이를 알고 싶다면 LENGTH=${#STR} [프로그래머스] (C++) 체육복 문제는 이 링크를 타고 가면 있습니다. 이 문제는 정렬을 필요로 합니다. 왜일까요? #include #include #include using namespace std; int solution(int n, vector lost, vector reserve) { int answer = 0; sort(lost.begin(), lost.end()); sort(reserve.begin(), reserve.end()); vector::iterator lost_iter, res_iter; lost_iter = lost.begin(); res_iter = reserve.begin(); while ((lost_iter != lost.end()) && (res_iter != reserve.end())) { if (*lo.. [프로그래머스] (C++) 땅따먹기 문제는 이 주소로 가면 있습니다. 처음에 저는 아래와 같은 코드로 문제를 푸려고 하였습니다. #include #include using namespace std; vector gLand; int gMax; void getTotal(int cur, int last, int n, int total) { if (cur == n) { if (gMax < total) gMax = total; return; } for (int i = 0; i < 4; i++) { if (last != i) { getTotal(cur+1, i, n, total + gLand[cur][last]); } } } int solution(vector land) { gLand = land; for (int i = 0; i < 4; i++) .. 이전 1 ··· 6 7 8 9 10 다음