코딩테스트

코딩테스트/프로그래머스(C++)_Level.1

[프로그래머스/C++] Lv.1 추억 점수

문제 코드 #include #include #include using namespace std; vector solution(vector name, vector yearning, vector photo) { vector answer; unordered_map score; for (int i = 0; i < name.size(); ++i) { score.emplace(name[i], yearning[i]); } for (const auto& p : photo) { int temp = 0; for (const auto& s : p) { if (auto search = score.find(s) != score.end()) { temp += score[s]; } } answer.emplace_back(temp)..

코딩테스트/프로그래머스(C++)_Level.1

[프로그래머스/C++] Lv.1 시저 암호

문제 코드 #include #include using namespace std; string solution(string s, int n) { string answer = ""; for(int i = 0; i= 'a' && s[i] = 'A' && s[i]

코딩테스트/프로그래머스(C++)_Level.1

[프로그래머스/C++] Lv.1 크기가 작은 부분문자열

문제 코드 #include #include #include using namespace std; int solution(string t, string p) { int answer = 0; long long t_length = t.length(); long long p_length = p.length(); long long num = stoll(p); for (int i = 0; i

코딩테스트/프로그래머스(C++)_Level.1

[프로그래머스/C++] Lv.1 이상한 문자 만들기

문제 코드 #include using namespace std; string solution(string s) { string answer = ""; int index = 0; for (char& i : s) { if (i == ' ') { index = 0; continue; } i = index & 1 ? (char)tolower(i) : (char)toupper(i); index++; } } 문제 해설 - string 을 foreach 로 순회한다. - 단어마다 몇번째 인덱스인지 알 수 있도록 int index 선언 - 만약 i 가 " "가 공백이면 index 를 초기화 시키고 continue; - index가 홀수라면 i를 소문자로 변환 -> tolower(i) - index가 짝수라면 i를 대문..

코딩테스트/프로그래머스(C++)_Level.1

[프로그래머스/C++] Lv.1 예산

문제 코드 #include #include #include using namespace std; int solution(vector d, int budget) { int answer = 0; sort(d.begin(), d.end()); for (const int i : d) { if (budget < i) { break; } budget -= i; answer++; } return answer; } 문제 해설 - 최대한 많은 부서가 구매할 수 있도록 신청한 금액이 제일 적은 것이 먼저 오도록 sort 함수로 정렬해준다. - 그 후 foreach 로 예산을 금액만큼 차감한다. 그리고 횟수를 더한다. - 만약 남은 예산보다 i 가 클경우 중단한다.

코딩테스트/프로그래머스(C++)_Level.1

[프로그래머스/C++] Lv.1 3진법 뒤집기

문제 코드 #include #include using namespace std; int solution(int n) { int answer = 0; vector three; int temp = n; while (temp) { three.emplace_back(temp % 3); temp /= 3; } reverse(three.begin(), three.end()); int m = 1; for (int i : three) { answer += (i * m); m *= 3; } return answer; } 문제 해설 - 3진법을 저장할 vector 를 만들어준다. - n이 0이 될 때까지 3으로 나눈 나머지를 3진법 vecotr 에 넣어주고 3으로 나눠준다. - reverse 함수를 통해서 배열을 뒤집어준..

mane
'코딩테스트' 카테고리의 글 목록 (2 Page)