완전탐색

알고리즘/프로그래머스

[프로그래머스/파이썬] 소수 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/42839?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 주어진 문자열에서 순열을 1개, 2개, 3개,,, 문자열의 길이-1개 까지 뽑아준다. 2) 뽑힌 순열들을 정수로 바꿈과 동시에 set안에 삽입하여 중복을 제거해준다. 3) set안의 정수들 중 소수가 몇개인지 판별하여 개수를 세준다 from itertools import permutations as p def is_prime(x): if x

파이썬

[파이썬 ] itertools 사용법

순열을 이용해 완전탐색 문제를 풀 때, dfs와 같은 재귀를 사용해야만 하는 경우도 있다. 그러나 재귀는 overflow를 유도하는 가장 쉬운 방법이기 때문에 항상 사용할 때 유의해야 한다. 우리는 이제 순열 조합을 이용한 문제를 코드 한 줄로 풀 수 있다. combinations() # 조합 combinations_with_replacement() # 중복조합 product() # 데카르트 곱 permutations() # 순열 combinations(iterable, r) iterable에서 원소 개수가 r개인 조합 뽑기 from itertools import combinations if __name__ == '__main__': iterator = [1, 2, 3, 4] for i in combin..

알고리즘/백준(BOJ)

[백준/C++] 15683번 감시

https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 오랜만에 푼 구현 + 브루트 포스 + 백트래킹 문제이다. 문제 자체는 크게 까다롭지 않지만, 백트래킹에서 고민을 좀 많이 하였고 결국 다른 글을 참고하게 되었다..(시무룩) 1. 입력을 받는다 (CCTV가 나오면 해당 좌표를 벡터에 담아준다!) 2. 완전 탐색을 실시한다. 3-1. 만약 모든 CCTV를 확인하여, 감시 구역을 정했으면 사각지대의 수를 세서 최솟값을 저장한다. 3-2. 아..

알고리즘/백준(BOJ)

백준 1107번 리모컨 <브루트포스>

이 문제는 도저히 모르겠어서 구글링 했다.. 다른 사람들의 풀이를 봐도 도저히 모르겠어서 머리 꽁꽁 싸매고 고민하던 중! 드디어 깨달아버렸다.. 너무 감격한 나머지 흔적을 남기고자 한다. 예를 들어 내가 5457번 채널로 가고 싶다고 하자, 현재 나는 100번 채널을 시청 중이다. | 5457 - 100 | 을 통해 순수 + - 만 이용해 원하는 채널로 가기 위한 횟수를 구한다. 그런 다음 0번 채널부터 1,000,000번 채널까지 반복한다. (인덱스는 i로 설정) 문제에서 주어진 건 500,000이지만 위에서 감소하면서 내려오는 경우도 있으니 1,000,000번까지 고려해준다 i번 채널로 이동 가능하면, i번 채널로 가는데 필요한 버튼 누르는 횟수를 계산하여 반환해주고 i번 채널로 이동 불가능하면 그냥..

beomseok99
'완전탐색' 태그의 글 목록