알고리즘/c++
-
나는야 졸리면 레벨원 푸는 사람 레벨투 .. 다시 낼부터 고 ㅎ 무튼 풀다가 잘 안써버릇한 메소드가 있어서 겟겟 ㅎㅎ 아래 문제 풀이 중 https://school.programmers.co.kr/learn/courses/30/lessons/12935 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 탐낸 풀이 #include #include using namespace std; vector solution(vector arr) { if (arr.size() == 1) { return { -1 }; } arr.erase(min_element(arr.be..
[C++] min_element로 최소값 원소 찾기, erase로 원소 지우기나는야 졸리면 레벨원 푸는 사람 레벨투 .. 다시 낼부터 고 ㅎ 무튼 풀다가 잘 안써버릇한 메소드가 있어서 겟겟 ㅎㅎ 아래 문제 풀이 중 https://school.programmers.co.kr/learn/courses/30/lessons/12935 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 탐낸 풀이 #include #include using namespace std; vector solution(vector arr) { if (arr.size() == 1) { return { -1 }; } arr.erase(min_element(arr.be..
2023.10.02 -
맨날 까먹고 헷갈려하는거 정리정리 .. sort 함수 #include #include ... vector newArr; sort(newArr.begin(), newArr.end(),greater()); sort함수 시간복잡도는 n log n sort 정렬시 인자를 배열로 줄땐 sort(arr,arr+n); sort 정렬시 인자를 벡터로 줄땐 sort(v.begin(), v.end()); 내림차순 sort 내림차순 정렬을 하고싶을땐 sort( ~ , ~, greater() ); 이렇게 세번째 인수로 greater() 함수 넣어주기 문자 long long으로 변환 string to long long stoll(string); long long to string to_string(long long) 참고) 종..
[C++] sort, greater<>, stoll, 숫자를 문자열로, sqrt맨날 까먹고 헷갈려하는거 정리정리 .. sort 함수 #include #include ... vector newArr; sort(newArr.begin(), newArr.end(),greater()); sort함수 시간복잡도는 n log n sort 정렬시 인자를 배열로 줄땐 sort(arr,arr+n); sort 정렬시 인자를 벡터로 줄땐 sort(v.begin(), v.end()); 내림차순 sort 내림차순 정렬을 하고싶을땐 sort( ~ , ~, greater() ); 이렇게 세번째 인수로 greater() 함수 넣어주기 문자 long long으로 변환 string to long long stoll(string); long long to string to_string(long long) 참고) 종..
2023.09.28 -
하핫 돌아오는 월욜(내일)부터 하루에 세문제씩 풀기로 계획세웠는데 ㅎ 할수있겠지 ㅎ 한문제 풀고 나면 그냥 집가고싶어짐 ㅎ 무튼 .. 정답 코드 #include #include using namespace std; vector solution(int n, vector words) { vector answer; string before = words[0]; for(int i=1;i
[프로그래머스] level2 영어 끝말잇기 - c++하핫 돌아오는 월욜(내일)부터 하루에 세문제씩 풀기로 계획세웠는데 ㅎ 할수있겠지 ㅎ 한문제 풀고 나면 그냥 집가고싶어짐 ㅎ 무튼 .. 정답 코드 #include #include using namespace std; vector solution(int n, vector words) { vector answer; string before = words[0]; for(int i=1;i
2023.07.16 -
냥 정답률 높은순으로 푸는중인데 이제 점점 정답률 50%대에 가까워지는중 .. 안돼 ~ .. 무튼 풀이 과정 시행착오? 첨엔 생각하기 귀찮아서 투 포인터로 풀려고했당.. 포인터 두개 써서 둘이 일치하면 해당 자리의 char을 뭐 0으로 바꾸거나 해서 하는식으로.. 근데 그러면 좀 복잡해지더군 ㅋㅎ 가령,, a 0 0 b b a ~~ .. 위와 같은 상황이랄까 할때 뒤에서 따라오는 역할의 포인터가, 만약 0을 가리킬때? 이런 조건을 다 분기처리해야해서 쏘 귀찮 ㅋ 오히려 배로 귀찮아지길래 아 레벨투인데 절대이럴리 없다 걍 스택 써야겠다 ㅋ 했음 결론 스택으로 구현해서 풀었다 흔히 계산기? 전위표기 후위표기 (prefix postfix) 같은거 하듯이~~ 반복문 내에서 i 증가시키면서, 가리키는 곳과 스택의..
[프로그래머스] level2 짝지어 제거하기 - C++냥 정답률 높은순으로 푸는중인데 이제 점점 정답률 50%대에 가까워지는중 .. 안돼 ~ .. 무튼 풀이 과정 시행착오? 첨엔 생각하기 귀찮아서 투 포인터로 풀려고했당.. 포인터 두개 써서 둘이 일치하면 해당 자리의 char을 뭐 0으로 바꾸거나 해서 하는식으로.. 근데 그러면 좀 복잡해지더군 ㅋㅎ 가령,, a 0 0 b b a ~~ .. 위와 같은 상황이랄까 할때 뒤에서 따라오는 역할의 포인터가, 만약 0을 가리킬때? 이런 조건을 다 분기처리해야해서 쏘 귀찮 ㅋ 오히려 배로 귀찮아지길래 아 레벨투인데 절대이럴리 없다 걍 스택 써야겠다 ㅋ 했음 결론 스택으로 구현해서 풀었다 흔히 계산기? 전위표기 후위표기 (prefix postfix) 같은거 하듯이~~ 반복문 내에서 i 증가시키면서, 가리키는 곳과 스택의..
2023.07.15 -
냥 면접준비 하기 싫어서 문제 풀었다 ㅎ 풀이 과정 두가지 방법으로 가능할듯 그냥 냅다 2로 나눠가며 1의 갯수 구하기 bitset 라이브러리 활용 bitset 라이브러리를 활용해서, count()함수 사용하면 해당 이진수 중 1의 갯수 알 수 있음 정답 코드 2로 나눠가며 1의 갯수 구하기 using namespace std; int countone(int n){ int onenum=0; while(1){ if(n==0)break; if(n%2==1) onenum++; n/=2; } return onenum; } int solution(int n) { int answer = n+1; int num=countone(n); while(1){ if(num==countone(answer))break; answ..
[프로그래머스] level2 다음 큰 숫자 - C++냥 면접준비 하기 싫어서 문제 풀었다 ㅎ 풀이 과정 두가지 방법으로 가능할듯 그냥 냅다 2로 나눠가며 1의 갯수 구하기 bitset 라이브러리 활용 bitset 라이브러리를 활용해서, count()함수 사용하면 해당 이진수 중 1의 갯수 알 수 있음 정답 코드 2로 나눠가며 1의 갯수 구하기 using namespace std; int countone(int n){ int onenum=0; while(1){ if(n==0)break; if(n%2==1) onenum++; n/=2; } return onenum; } int solution(int n) { int answer = n+1; int num=countone(n); while(1){ if(num==countone(answer))break; answ..
2023.07.08 -
케케 쉬운문제만 골라풀기 케케케 정답률 높은순으로 골라풀기 케케케케 낼부턴 양심껏 레벨 높여서 풀자 ㅎ.ㅎ 프로그래머스 level 2 - 최솟값 만들기 #include #include using namespace std; bool compare(int i, int j){ // 내림차순 정렬을 위한 함수 return j
c++ sort 오름차순 내림차순 정렬케케 쉬운문제만 골라풀기 케케케 정답률 높은순으로 골라풀기 케케케케 낼부턴 양심껏 레벨 높여서 풀자 ㅎ.ㅎ 프로그래머스 level 2 - 최솟값 만들기 #include #include using namespace std; bool compare(int i, int j){ // 내림차순 정렬을 위한 함수 return j
2023.07.04 -
algorithm 라이브러리 활용 방법 아래 코드의 for문 중 else블럭과 같이 사용 (stoi: string to int 함수) 무튼 걍 쉽게말하자면, #include 하고 max(1,5) 하면 5 리턴해줄거고 min(1,5)하면 1 리턴해줄거임 굳이 int일 필요없고, string끼리도 비교 가능한듯 음수 string에 대해서는 아직 안해봄 #include #include #include #include #include using namespace std; string solution(string s) { istringstream ss(s); string strBf; vector num; int size=0; int minA,maxA; while(getline(ss,strBf,' ')){ num...
c++ 최댓값 최솟값 구하기 함수algorithm 라이브러리 활용 방법 아래 코드의 for문 중 else블럭과 같이 사용 (stoi: string to int 함수) 무튼 걍 쉽게말하자면, #include 하고 max(1,5) 하면 5 리턴해줄거고 min(1,5)하면 1 리턴해줄거임 굳이 int일 필요없고, string끼리도 비교 가능한듯 음수 string에 대해서는 아직 안해봄 #include #include #include #include #include using namespace std; string solution(string s) { istringstream ss(s); string strBf; vector num; int size=0; int minA,maxA; while(getline(ss,strBf,' ')){ num...
2023.06.23 -
getline함수와 istringstream 사용하는 방법 istringstream : 문자열을 추출해내는 작업. #include 필요 getline(istream& ls, string& str, delim) : ls: 입력스트림 object str: 입력받은 문자열을 저장할 string 객체 delim: 구분자. 아래 예에선 공백(' ') #include #include #include #include using namespace std; int main(string s) { istringstream ss(s); string strBf; vector num; // 구분자를 getline의 세번째 인수로 설정. 이 예에선 공백을 구분자로 설정함. while(getline(ss,strBf,' ')){ nu..
c++ 주어진 string split하여 vector에 넣기getline함수와 istringstream 사용하는 방법 istringstream : 문자열을 추출해내는 작업. #include 필요 getline(istream& ls, string& str, delim) : ls: 입력스트림 object str: 입력받은 문자열을 저장할 string 객체 delim: 구분자. 아래 예에선 공백(' ') #include #include #include #include using namespace std; int main(string s) { istringstream ss(s); string strBf; vector num; // 구분자를 getline의 세번째 인수로 설정. 이 예에선 공백을 구분자로 설정함. while(getline(ss,strBf,' ')){ nu..
2023.06.23