[프로그래머스] 가장 큰 수 (코딩테스트 연습 | 정렬)
·
알고리즘/프로그래머스
⭐️ 0. 문제https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ⭐️ 1. 아이디어✅ 1. 자릿수를 전부 맞추고 비교[1, 22, 23] -> [11, 22, 23]으로 전체 숫자의 자릿수를 맞춤.단, 이때 길이의 max로 자릿수를 맞추는 게 아니라 길이의 최소공배수로 자릿수를 맞춤[11, 222] -> [111111, 222222] ✅ 이 아이디어가 올바른 이유 case 1 : 5 51 -> 551case 2 : 5 58 -> 585 이 두 케이스..
[프로그래머스] 최소직사각형 (코딩테스트 연습 | 완전탐색)
·
알고리즘/프로그래머스
문제https://school.programmers.co.kr/learn/courses/30/lessons/86491#qna 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 아이디어✅ list 정렬로 해결각 sizes 안의 원소를 (min값, max값) 으로 정렬 후answer = (min 중 최대값) * (max 중 최대값)   ✅ 이 아이디어가 올바른 이유  case를 따져 봤을 때, answer = (min 중 최대값) * (max 중 최대값) 공식이 들어맞는 것을 확인 코드def solution(sizes): answer = 0 siz..
[프로그래머스] 쿼드압축 후 개수 세기 (코딩테스트 연습 | 월간 코드 챌린지 시즌 1)
·
알고리즘/프로그래머스
문제https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr아이디어✅ 사각형을 4개로 나눈다 ✅ 재귀함수를 이용해 구현사각형의 가로, 세로가 1이 될때까지 또는 사각형 내 숫자가 모두 같을 때까지 반복수행코드def divide_square(arr): length = len(arr[0]) arr_1 = [[0] * (length//2) for _ in range(length//2)] arr_2 = [[0] * (length//2) for _ ..
[프로그래머스] 기능개발 (코딩테스트 연습 | 스택/큐)
·
알고리즘/프로그래머스
문제https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  아이디어✅ 우선 days 배열을 만든다days 배열각각 일을 다 마치기(100%)까지 걸리는 날짜⚠️ speed로 나누어 떨어지는 경우 / 그렇지 않은 경우 나눠서 연산 ✅ days를 앞에서부터 순회 -> 정답 구함days 순회뒤 원소가 작다면, 무시하고 그 다음 큰 원소 찾음7 3 9 -> 7 9⚠️ days.append(101)을 통해 마지막 원소도 정상적으로 출력하도록 함 코드def sol..
[프로그래머스] 카펫 (코딩테스트 연습 | 완전탐색)
·
알고리즘/프로그래머스
문제https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr아이디어✅ '테두리 (Brown)이 1줄이다'즉, yellow의 공약수 두 수 a, b 를 구하고 (a * b = yellow)(a + 2) * (b + 2) = (총 직사각형 넓이) 인 경우를 구해 b+2, a+2를 반환한다 ✅ 공약수는 어떻게 구하는가?for문을 이용해 1부터 yellow로 탐색코드import mathdef solution(brown, yellow): answer = [] ..