목록전체 글 (233)
Life Engineering
https://programmers.co.kr/learn/courses/30/lessons/17680 cache 벡터를 갱신해주기(이때 갱신이란 pair 값을 i 값(cities에서 순서)으로 변경) cache miss 일 경우 => 빈 공간 없고, cache size가 0이 아닌 경우: cache 벡터를 sorting 한 후 가장 첫번째 값을 해당 city와 i 로 갱신 빈 공간 있을 경우: cache 벡터에 해당 city, i 를 넣어주기 대.소문자 구분 없으므로 city를 소문자나 대문자로 변경해주고 시작해야된다. 다른 분들의 코드를 보니 이런 식으로도 소문자 변경이 가능하다. transform(it->begin(), it->end(), it->begin(), ::tolower); 또한 pair를 ..
첫 취준이었고, 프로젝트, 기초 CS 지식을 더 보강해야겠다고 느낀 시즌이었다. 교육을 더 받아서 실력을 올려야 겠다.. 그리고 스스로 공부도 많이 필요하다.. 난 아직 너무 부족한것 같다. 면접 준비도 구조화해서 해야겠다. 면접 본 후 스스로 항상 느낀게 너무 횡설수설하고 말을 못한다는 점이다. 그리고 결정적인 건, 지식이 너무 부족하다. lg cns: 서류 합 - 코테 합 - 1차 면접 탈 cj올리브네트웍스: 서류 합 - 코테 합 - 1차 면접 탈 네이버: 서류 및 코테 합 - 1차 면접 탈 삼성: 서류 합 - 코테 탈 카카오: 코테 탈 현대오토에버: 서류 합 - 코테 합 - 1차 면접 탈 ㅠㅠ
https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr #include #include #include using namespace std; vector solution(vector prices) { vector answer(prices.size()); stack s; for (int i=0; iprices[i]){ //내려갔을 때 answer[s.top()]=i-s.top(..
https://programmers.co.kr/learn/courses/30/lessons/70129 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr #include #include #include using namespace std; int zero=0; int cnt=0; int stepOne(string s){ int c=0; for (char i : s){ if (i=='0') zero++; else c++; } return c; } string stepTwo(int c){ string temp=""; while (true){ temp+=to_string(c%2); c=c/2; if (c==0) break; } reverse(temp.begin(), temp.end()); ..
https://www.acmicpc.net/problem/1038 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 www.acmicpc.net #include #include using namespace std; int N; int answer = 9; long long ans = -1; void backtracking(int n, int cnt, int jarisu, string s) { if (cnt == jarisu) { answer++; if (answer == N) { ans = stoll(s); } return;..
https://programmers.co.kr/learn/courses/30/lessons/12985 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr #include using namespace std; int numbering(int n){ if (n%2==0) return n/2; else return (n+1)/2; } int solution(int n, int a, int b) { int answer = 0; while (a!=b){ a=numbering(a); b=number..
https://programmers.co.kr/learn/courses/30/lessons/12953 코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배 programmers.co.kr #include #include #include using namespace std; int gcd(int a, int b){ int a1=max(a,b); int b1=min(a,b); while (b1){ int c=a1%b1; a1=b1; b1=c; } return a1; } int lcm(int g, int a,..
https://programmers.co.kr/learn/courses/30/lessons/49191 코딩테스트 연습 - 순위 5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2 programmers.co.kr #include #include #include using namespace std; bool floyd[101][101]={false,}; int solution(int n, vector results) { int answer = 0; for (auto r : results) floyd[r[0]][r[1]]=true; for (int k=1; k
https://programmers.co.kr/learn/courses/30/lessons/72412 >target; int cnt=lower_bound(m[q].begin(), m[q].end(), target)-m[q].begin(); answer.push_back(m[q].size()-cnt); } return answer; } map을 이용해서 풀었다. 그리고 점수를 탐색할 때 미리 정렬해줘서 이분탐색하여 효율성을 높이는게 중요하다. 해당 info에서 나올 수 있는 모든 경우의 수를 map의 key에 넣어주고, value는 점수를 넣어준다. 예를 들어, "java backend junior pizza 100" 이라면, 2^4=16가지의 경우를 map의 키로 삼고, value를 100으로 하는 것이..
https://www.acmicpc.net/problem/15654 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net #include #include #include using namespace std; vector v; vector ans; int N, M, x; bool check[9] = { false, }; void dfs(int cnt, vector &c) { if (cnt == M) { ans.push_back(c); return; } for (int i = 0; i < N; i++) { if..