본문 바로가기

전체 글88

[Brute Force] 소수 찾기 문제: https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코드from itertools import permutationsdef prime(x) : if x prime 함수는 소수를 판별하는 함수이다.solution 함수numbers를 쪼개어 리스트에 다시 받는다.permutation을 사용해서 경우의 수를 p변수에 받는다.이때, 자릿수 별로 구한 경우의 수의 중복값을 제거하기 위해 set을 사용한다.print(p)[0, 1][1, 10, 11].. 2024. 6. 13.
[Brute Force] 모의고사 문제: https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코드def solution(answers): s1 = [1, 2, 3, 4, 5] s2 = [2, 1, 2, 3, 2, 4, 2, 5] s3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] num = [0,0,0] result = [] for idx,answer in enumerate(answers,0): if s1[idx%len(s1)]=.. 2024. 6. 13.
[Brute Force] 최소 직사각형 문제: https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이명함 번호가로 길이세로 길이16050230703603048040가로, 세로를 돌려가면서 비교해도 되기에 가로를 모두 큰 값으로 맞춰준다.세로는 그 반대인 작은 값으로 맞춰준다.결과적으로 [[60,50], [70,30], [60,30], [80,40]]으로 맞춰지게 되며 이제 가로에 큰 값들을 넣어주고 세로에 작은 값들을 넣어 주면 된다.코드def solution(sizes): w = m.. 2024. 6. 13.
Brute Force 개념 완전 탐색이란 Brute(무식한) + Force(힘)즉, 발생할 수 있는 모든 경우의 수를 무식하게 탐색한다는 뜻이다.완전 탐색은 설계할 때, 해가 하나 이상 존재한다는 가정을 세우고 모든 범위를 탐색하기 때문에 무조건 정답을 찾을 수 있다.장점단점알고리즘을 설계하고 구현하기 매우 쉽다.복잡한 알고리즘 없이 빠르게 구현할 수 있다.알고리즘의 실행 시간이 매우 오래 걸린다.메모리 효율 면에서 매우 비효율적이다. 완전 탐색은 크게 선형 구조와 비선형 구조로 나눌 수 있다.선형 구조(1) 순차 탐색1. 문제에서 주어진 자료를 선형 구조로 바꾼다.2. 구조화된 자료들을 구조에 맞는 방법으로 해를 구할 때까지 탐색한다.3. 탐색한 해를 주어진 문제의 출력 형식에 맞게 정리한다. 선형 탐색을 이용하여 탐색을 할 수.. 2024. 6. 13.
[Sorting] H-Index 문제: https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr k(=h)s ≥ k(=h) 1번 이상인 논문이 4편≥ 12번 이상인 논문이 3편≥ 23번 이상인 논문이 3편≥ 34번 이상인 논문이 2편5번 이상인 논문이 2편k(=h)가 s 초과일 때 종료, 이전 k값이 h-index이다.코드 1 (실패)def solution(citations): n = len(citations) ans = [] s=0 h = [i+1 for i in .. 2024. 6. 13.
[Sorting] 가장 큰 수 문제: https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코드def solution(numbers): numbers = [str(i) for i in numbers] numbers.sort(key=lambda x: (x*3), reverse=True) answer = str().join(numbers) if list(answer)[0]=='0': return '0' return answer일단 numbers를 문.. 2024. 6. 13.