백준 알고리즘 2557번 파이썬 풀이
강의 서쪽에 있는 사이트 개수만큼 (N개)의 점을 동쪽에서 골라서 연결한다. M개에서 순서를 고려하지 않고 N개를 고르는 것으로 mCn = m!/(m-n)!n! 이 된다.
문제 해결방법 문제에 '체스판을 색칠하는 경우는 두 가지뿐이다' 라는 말로 힌트를 얻었다. 8x8 체스판은 'BWBWBWBW' 로 시작하거나 'WBWBWBWB'로 시작하는 두 가지 케이스가 있다. 패턴 형식의 배열 문제는 2로 나눈 나머지를 이용해 푸는 방식을 사용했던 기억이 있어, 같은 방식으로 접근하였다. 완전 탐색을 사용하여 8x8배열을 옮겨가면...
진짜 약수가 모두 주어지기 때문에 가장 큰 수와 가장 작은 수를 곱하면 N을 구할 수 있다. max, min 함수를 이용하여 계산sort하고 리스트의 맨 앞, 맨 뒤 값을 사용두 방법 모두 시간복잡도는 O(n)이다.
전체 리스트를 정렬하고 n이 들어갈 수 있는 구간의 두 값(section_f, section_b)을 구한다.방법 1) 해당 구간에서 생길 수 있는 조합(2개선택)을 모두 구하고 n이 조합 구간에 포함되면 count +1씩 하면서 진행방법 2) 수학적 계산을 이용한다.
방법1) AxB를 A,B의 최대공약수로 나누면 최소공배수가 된다. 방법2) A,B 중에 더 큰 수의 배수를 해가면서 A로 나눠지면 그 수가 최소공배수가 된다. python math 모듈을 사용한다.gcd 함수를 구현해서 사용한다.
프로그래머스 코딩테스트 연습 SQL, LEVEL1
프로그래머스 코딩테스트 연습 SQL, LEVEL1
프로그래머스 코딩테스트 연습 SQL, LEVEL1
프로그래머스 코딩테스트 연습 SQL, LEVEL2
프로그래머스 코딩테스트 연습, LEVEL2
프로그래머스 코딩테스트 연습, LEVEL3
프로그래머스 코딩테스트 연습 SQL, LEVEL2
프로그래머스 코딩테스트 연습 SQL, LEVEL2
프로그래머스 코딩테스트 연습, LEVEL3
프로그래머스 코딩테스트 연습 SQL, LEVEL3
프로그래머스 코딩테스트 연습 SQL, LEVEL3 (INNER JOIN 사용)
프로그래머스 코딩테스트 연습 SQL, LEVEL2
프로그래머스 코딩테스트 연습 SQL, LEVEL2 (CASE-WHEN-THEN, LIKE 구문 사용)