본문 바로가기

프로그래밍/코딩 문제 풀이76

프로그래머스 2023.06.07 (2Lv 광물 캐기) 문제 코딩 #include #include #include #include // picks_len은 배열 picks의 길이입니다. // minerals_len은 배열 minerals의 길이입니다. // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. int solution(int picks[], size_t picks_len, const char* minerals[], size_t minerals_len) { int answer = 0; int mineralsIdx = 0; for (int i = 0; i < 3; ++i) { int pickCount = picks[i]; for (int j = 0; j < pickCount; ++j) { for (int k.. 2023. 6. 19.
프로그래머스 2023.06.05 (2Lv 점 찍기) 문제 코딩 #include #include #include long long solution(int k, int d) { long long answer = 0; int inum_x = 0; int inum_y = 0; while (true) { if (inum_x * k > d) break; inum_y = 0; while (true) { if (sqrt(pow(inum_x * k, 2) + pow(inum_y * k, 2)) > d) { answer += inum_y; break; } inum_y++; } inum_x++; } return answer; } 실행 결과 2023. 6. 19.
프로그래머스 2023.06.04 (2Lv 영어 끝말잇기) 문제 코딩 #include #include #include using namespace std; vector solution(int n, vector words) { vector answer; int num = 1; int turn = 0; vector vecgarbage = {}; string word = *words.begin(); vecgarbage.push_back(*words.begin()); words.erase(words.begin()); while (true) { turn++; if (num == n) num = 0; for (; num < n;) { if (words.size() == 0) { answer.push_back(0); answer.push_back(0); return answ.. 2023. 6. 19.
프로그래머스 2023.06.02 (2Lv 여러 수의 최소공배수 구하기) 문제 이론 최대공약수(Greatest Common Division) 두 수를 소인수분해를 한 뒤, 두 수의 공통된 소인수를 모두 곱한 것이다. 최소공배수(Least Common Multiple) 두 수를 소인수분해를 한 뒤, 두 수의 모든 소인수를 곱한 것이다. 벤-다이어그램으로 정리하면 아래와 같다. AB = LCM*GCD 유클리드 호제법 A를 B로 나눌 때, 나머지를 R이라하면, GCD(A,B) = GCD(B,R) 이다. 예시 : 60과 24를 나눈 몫은 2이고, 나머지는 12이다. 즉, 60 = 24 * 2 + 12 GCD(60, 24) = GCD(24, 12) = 12 이다. 유클리드 호제법을 이용한 알고리즘 A와 B의 최대 공약수를 구하기 위해서 A를 B로 나눈 나머지 R0을 구한다. B를 R0.. 2023. 6. 19.