# combinations

43개의 포스트

[leetcode] 77. Combinations

leetcode 77. Combinations Problems 두 개의 정수 n과 k가 제공된다. [1, n]의 범위에서 k개의 개수로 조합이 가능한 모든 조합을 리턴하라. Idea combination의 말뜻 그대로 내가 짜야할 코드는 조합을 찾는 코드이다. 코드를 복잡하게 짜는 것보다 python itertools의 combinations 함수를 사용하는 것이 나을 것 같아 해당 함수를 사용했다. 만약 순서가 보장되어야 했다면, python itertools의 permutations를 활용하면 된다. Code 나는 입력받은 n 또한 결과값으로 반환해야 하니 range는 1 부터 n+1까지로 설정하였다. 한 요소당 몇개로 구성하는 지에 대해서는 k를 입력해 해결하였다.

2023년 8월 1일
·
0개의 댓글
·
post-thumbnail

소수 만들기

map(function, list): 리스트의 모든 원소에 함수 적용 2부터 n-1까지의 모든 수로 나누어서 나머지가 0인 경우가 없는 수 소수 판별 3개의 리스트에서 서로 다른 3개의 수를 인덱스가 한 방향 순서대로 하나씩 뽑아 합하여 중복 제거 boolean 리스트에서 True의 수는 sum을 사용해서 카운트 + 다른 풀이 combinations(list, n): list 안에서 n개의 원소로 된 조합을 튜플로 생성

2023년 3월 19일
·
0개의 댓글
·
post-thumbnail

0311 TIL

웹개발의 패러다임 옛날 옛날 먼 옛날 웹 개발의 페러다임이 백엔드에서 프런트앤드로 옮겨오면서 예전보다 많은 코드가 서버가 아닌 브라우저에서 실행되고 있습니다. ex.*템플릿 렌더링 HTML 템플릿: client-side 렌더링 vs. server-side 렌더링 (2014) 동적으로 렌더링하는 부분을 제외한 초기 페이지는 server-side 렌더링하고 동적인 부분만 client-side 렌더링 https://www.clien.net/service/board/park/5699595 반응형 프로그래밍 데이터를 가져와서 화면을 만드는 것이 아닌 미리 선언되어있는 구조에서 템플릿으로 데이터를 전달(변경된 데이터를 감지하고 전달) EventListener 중심 https://yozm.wishket.com/magazine/detail/1334/ 네트워크 쿠키

2023년 3월 11일
·
0개의 댓글
·

Python 알고리즘에 필요한 문법 총 정리

순열 > [('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')] 조합 > [('A', 'B'), ('A', 'C'), ('B', 'C')] zip lst1과 lst2 각각을 짝지은 zip 객체가 반환됨. list나 dictionary 등 자료구조를 이용하여 표현 가능 Ex) > [(0, '월'), (1, '화'), (2, '수'), (3, '목'), (4, '금'), (5, '토'), (6, '일')] Find max value's key in Dictionary 딕셔너리에서 밸류의 최대값을 갖는 키를 찾는 방법이다. 말이 어려울 수 있는데, 예를 들어 `{'A': 3,'B': 5,

2023년 2월 14일
·
0개의 댓글
·

[파이썬] 프로그래머스 LV1 두개 뽑아서 더하기

프로그래머스 두개 뽑아서 더하기 삼총사를 복습할 수 있엇던 문제였다. 첫시도 성능 고민 없이 해보았는데 나온 결과가 시간이 너무 걸려서 이건 아닌 것 같음.. 이런 방식은 LV0 100문제를 풀 때 주로 사용했는데 LV0에선 리스트를 이용해서 성능 고민 없이 우선 해결 + 파이썬 적용이 목표였었다 dictionary 이용 딕셔너리에 넣는 과정에서 중복되는 값은 제외되게 된다. 다른 사람의 풀이 itertools 에서 combinations를 import하지 않고 for-loop 으로 조합을 만들어주는 풀이이다. 그런데 제일 우수한 성능을 보여줌. 👉 2개를 뽑아서 만드는 조합은 for-loop으로만 하는게 나을 것 같음 성능 비교 테스트 1 〉 통과 (0.00ms, 9.89MB) 통과 (0.01ms, 10.1M

2023년 2월 5일
·
0개의 댓글
·
post-thumbnail

0204 TIL

SQL 성능 향상 인덱스 인덱스 구조 B-Tree: root(부모)→ branch(자식)→ leaf(자식)→ 디스크 저장소 디스크를 읽는 건 메모리보다 훨씬 성능이 떨어짐 디스크 저장소 엑세스를 줄이고 root-leaf 왕복 횟수를 줄이는 것이 핵심 인덱스가 많아지면 명령어 수행시 중복하여 수정이 필요하여 성능 저하를 유발할 수 있음 인덱스도 공간을 차지함 옵티마이저가 잘못된 인덱스를 탈 수 있음 인덱스를 만드는 기준 많은 양의 데이터에 엑세스하는 경우 인덱스를 이용해서 엑세스하면 이후에 랜덤 엑세스가 발생하여 성능이 저하됨 → 인덱스 없이 전체 엑세스하는 경우가 더 빠름 ex) 1만개의 단어. 5000개의 단어를 찾는다. 한 페이지에 단어는 20개. → 총 페이지수는 500이고 한 페이지에 평균 10개의 단어가 있을거라고 추정 가능 → 인덱스를 타게되면 한 페이지를 10번씩 엑세스하게 됨 → 인덱스를 타지 않

2023년 2월 4일
·
0개의 댓글
·
post-thumbnail

[Python] 일곱 난쟁이 - 조합

해당 문제 링크 풀이 Git - 코드 해석 조합 문제로 itertools 라이브러리의 combinations 함수를 사용했다. 난쟁이 9명 중 7명을 뽑는 경우의 수를 모두 구해서 해당 요소들을 더하여 100이 나왔을 때 하나씩 출력하였다. combinations 함수의 반환 값으로는 튜플이고 이를 list(

2023년 1월 28일
·
0개의 댓글
·

LeetCode 90

문제 링크 문제 설명. nums가 주어지고, 그 안의 모든 부분집합을 구하는 문제. 풀이. 간단히 원소가 겹치지 않게 집합에 정렬된 모든 원소를 tuple 형태로 set에 집어넣어줬다.(한줄코딩이라 효율이 좋지는 않은 것 같다..) 풀이 코드.

2022년 11월 28일
·
0개의 댓글
·

[프로그래머스] 교점에 별 만들기

Ax + By + C = 0으로 표현할 수 있는 n개의 직선이 주어질 때, 이 직선의 교점 중 정수 좌표에 별을 그리려 합니다. 별이 그려진 부분은 *, 빈 공간(격자선이 교차하는 지점)은 .으로 표현하면 다음과 같습니다. "..........." ".....*....." "..........." "..........." "........." "..........." "..........." "..........." "..........." "........." "..........." 이때 격자판은 무한히 넓으니 모든 별을 포함하는 최소한의 크기만 나타내면 됩니다. 따라서 정답은 "....*...." "........." "........." "......." "........." "........." "........." "........." "......." 입니다. 직선 A, B,

2022년 11월 1일
·
0개의 댓글
·
post-thumbnail

삼성SDS_백준_실버2_스타트와 링크 (브루트포스_combinations_그래프 없는 DFS)

링크 : https://www.acmicpc.net/problem/14889 메모 N명의 사람 (짝수) 각 팀은 반 쪼개서 N/2명씩 구성 -> 스타트팀 링크팀 S_ij : i번사람과 j번 사람이 만났을 때 얻는 에너지 팀의 능력치 = sum(S_ij들) 주의사항 : Sij와 Sji는 다를 수도 있다 i는 j랑

2022년 10월 7일
·
0개의 댓글
·
post-thumbnail

리트코드_46, 77_permutations와 combinations_Medium (itertools 안쓰고 직접 구현 방법_deepcopy (뼈대 매우 중요))

결론부터 작성 코테에선 itertools를 사용하고 + 주석에 "구현의 효율성, 성능을 위해 사용했다" 는 내용을 달면 금상첨화 라이브코딩에선 직접 구현해봐라 시킬 수 있다. 삼성코테에서 itertools를 사용할 수 없다는 썰이 있다. Combinations(리스트, 넘버) - 그리고 이 코드는 이해가 쉽게 하려고 dfs를 비효율적으로 작성한거(조합만) 다음에 효율좋은 제대로된 코드로 추가 정리하고 그걸 외우자 Permutations(리스트, 넘버) dfs 기반 if 리프 노드일 때 결과 추가 순열 생성 재귀 호출 (루트->인터널 이동하며 path기록) 앞에서부터 슬라이싱하여 모든 경우의 수에 대한 dfs deepcopy를 이용해 복사 중요 e에 대해 한번씩 다 빼볼거기 때문에 remove사용 ([2,3], [1,3],

2022년 10월 5일
·
0개의 댓글
·

combinations(조합)

nCr 서로 다른 n개중 순서와 중복 없이 r개를 뽑는 경우 itertools 사용

2022년 9월 18일
·
0개의 댓글
·

BoJ 1010[python] 조합

문제 재원이는 한 도시의 시장이 되었다. 이 도시에는 도시를 동쪽과 서쪽으로 나누는 큰 일직선 모양의 강이 흐르고 있다. 하지만 재원이는 다리가 없어서 시민들이 강을 건너는데 큰 불편을 겪고 있음을 알고 다리를 짓기로 결심하였다. 강 주변에서 다리를 짓기에 적합한 곳을 사이트라고 한다. 재원이는 강 주변을 면밀히 조사해 본 결과 강의 서쪽에는 N개의 사이트가 있고 동쪽에는 M개의 사이트가 있다는 것을 알았다. (N ≤ M) 재원이는 서쪽의 사이트와 동쪽의 사이트를 다리로 연결하려고 한다. (이때 한 사이트에는 최대 한 개의 다리만 연결될 수 있다.) 재원이는 다리를 최대한 많이 지으려고 하기 때문에 서쪽의 사이트 개수만큼 (N개) 다리를 지으려고 한다. 다리끼리는 서로 겹쳐질 수 없다고 할 때 다리를 지을 수 있는 경우의 수를 구하는 프로그램을 작성하라. > 입력 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽

2022년 9월 18일
·
0개의 댓글
·

[python] itertools 라이브러리

효율적인 루핑을 위한 이터레이터를 만드는 함수 1. permutations() - 순열 permutations(iterable, r=None) 입력 iterable에서 요소의 연속된 길이 r 순열(모든 가능한 순서, 반복되는 요소 없음)을 반환 r이 지정되지 않거나 None이면, r의 기본값은 iterable의 길이 2. combinations() - 조합 combinations(iterable, r) 입력 iterable에서 요소의 길이 r 서브 시퀀스들을 반환(정렬된 순서, 반복되는 요소 없음) 조합(combination) 튜플은 입력 iterable의 순서에 따라 사전식 순서로 방출 3. product() - 곱셈 product(*iterables, repeat=1) 입력 이터러블들(iterables)의 데카르트 곱(제너레이터 표현식에서의 중첩된 for-루프와 동등) 이터러블의 자신과의 곱을 계산하려면, 선택적 repeat 키워드 인자를 사용하여 반복 횟

2022년 9월 1일
·
0개의 댓글
·
post-thumbnail

백준_2961 (도영이가 만든 맛있는 음식_실버2_브루트포스_인덱스로 접근하는 combinations_중요)

링크 : https://www.acmicpc.net/problem/2961 히든 테스트케이스 메모 - 내가 생각한 그 음식의 신맛은 사용한 재료의 신맛의 곱이고, 쓴맛은 합이다. 재료를 적절히 섞어서 요리의 신맛과 쓴맛의 "차이를 작게" 만들려고 한다 신맛과 쓴맛의 차이가 가장 작은 요리를 만드는 프로그램을 작성하시오. 알고리즘 - 내가 생각한 근데 이렇게 접근해서 틀렸다!! 신맛끼리 모든 경우의 수 조합해서 곱해준걸 A.append 쓴맛끼리 모든 경우의 수 조합해서

2022년 8월 15일
·
0개의 댓글
·
post-thumbnail

백준_1759 (암호 만들기_골드5_브루트포스_combinations) 호석 완전탐색3

링크 : https://www.acmicpc.net/problem/1759 메모 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로 구성 각각의 암호 후보들은 알파벳 순서대로 정렬 출력 결과도 모든 후보들을 알파벳 순서대로 정렬한듯 신기하게도 골드5인데 10분만에 알고리즘 짜고, 20분(?)만에 코드 짜서 한번에 맞춤 입력받은 알파벳을 일단 sorting시켜야 함 --> 이걸 해야 combinations의 결과가 문제에서 원한 결과로 나옴(permutaion

2022년 8월 13일
·
0개의 댓글
·
post-thumbnail

백준_1182 (부분수열의 합_브루트포스_itertools_combinations) 호석 완전탐색1

링크 : https://www.acmicpc.net/problem/1182 솔루션코드 너무 간단해서 알고리즘같은거 안하고 바로 품 그래도 기록하자면, combinations(배열, 1~전체길이) 싹다 수행해서 각 경우의 수마다 sum한게 정답값(=s)면 answer++한 것

2022년 8월 12일
·
0개의 댓글
·
post-thumbnail

백준_2309 (일곱 난쟁이_브루트포스_itertools combinations)

링크 : https://www.acmicpc.net/problem/2309 브루트포스 문제인데, 순열과 조합으로 풀 수 있는 간단한 문제 순열과 조합 자체가 브루트폴스임(모든 경우의 수 다 만들어보니까)

2022년 6월 26일
·
0개의 댓글
·
post-thumbnail

백준_6603 (로또_조합 combinations 사용법 중요)

Combinations 사용법 중요 list 자료형에 list()로 만들어서 넣고, for문으로 출력해라 이때 " ".join()을 쓰려면 안에 원소들이 str()이어야 함!! 링크 : https://www.acmicpc.net/problem/6603 ![](https://velog.velcdn.com/images/taehye

2022년 5월 30일
·
0개의 댓글
·
post-thumbnail

NHN_백준_15649 (N과 M (1, 2) itertools_permutations_combinations)

주의할 사항 itertools 다!! collections가 아니고! 콤비네이션, 퍼뮤테이션 -> iter가 가능한 리스트에 대해 쓰기 때문에 itertools 콤비네이션은 중복 제거 퍼뮤테이션은 중복 X 전부 모두 사용법 알아내는 방법은 help(함수명) dir() 주의 itertools permutations 사용법 링크 : https://www.acmicpc.net/problem/15649 ![](https://velog.velcdn.com/images/taehyeo

2022년 5월 28일
·
0개의 댓글
·