코딩테스트

코딩테스트/프로그래머스(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 함수를 통해서 배열을 뒤집어준..

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

[프로그래머스/C++] Lv.1 같은 숫자는 싫어

문제 코드 #include #include using namespace std; vector solution(vector arr) { vector answer; answer.emplace_back(arr[0]); for (int& i : arr) { if (answer.back() != i) answer.emplace_back(i); } return answer; } 문제 해설 - answer 배열에 arr 배열 0번째를 넣고 back()을 이용해서 answer 배열에 i가 있는지 체크해서 없으면 emplace_back(i)를 해준다.

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

[프로그래머스/C++] Lv.1 최대공약수와 최소공배수

문제 코드 #include #include using namespace std; // 최대공약수 int gcd(int a, int b) { if(b == 0) return a; return gcd(b, a%b); } // 최소공배수 int lcm(int a, int b) { return a*b/gcd(a,b); } vector solution(int n, int m) { vector answer; answer.emplace_back(gcd(n,m)); answer.emplace_back(lcm(n,m)); return answer; } // 또는 int lcm(int a, int b) { return a*b/__gcd(a,b); } vector solution(int n, int m) { vector a..

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

[프로그래머스/C++] Lv.1 문자열 내림차순으로 배치하기

문제 코드 #include #include std::string solution(std::string s) { std::string answer = ""; sort(s.begin(), s.end(), std::greater()); return s; } 문제 해설 - sort 와 greater() 를 이용해서 정렬시킨다.

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

[프로그래머스/C++] Lv.1 부족한 금액 계산하기

문제 코드 #include using namespace std; long long solution(int price, int money, int count) { long long answer = 0; for (int i = 1; i money) answer -= money; else { answer = 0; } return answer; } // 다른 사람 풀이 /*typedef long long ll; long long solution(int price, int money, int count) { ll answer = (ll)(count * (count + 1) / 2) * price; return answer > money ? answer - money : 0; }*/ 문제 해설 - 가우스 공식을 이..

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

[프로그래머스/C++] Lv.1 문자열 다루기 기본

문제 코드 #include #include using namespace std; bool solution(string s) { const regex pattern("^(\\d{4}|\\d{6})$"); return regex_match(s, pattern); } // 다른 사람 풀이 /*bool solution(string s) { bool answer = true; for (int i = 0; i < s.size(); i++) { if (!isdigit(s[i])) answer = false; } return s.size() == 4 || s.size() == 6 ? answer : false; }*/ 문제 해설 - regex 를 이용해서 4자리 또는 6자리 숫자인지 검사 - 또는 isdigit을 이용..

mane
'코딩테스트' 태그의 글 목록 (3 Page)