Algorithm/Programmers

🗂️ 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 접근법 최대한 많은 종류의 폰켓몬을 선택해야 하며, 선택할 수 있는 폰켓몬 종류 개수의 최댓값을 출력해야 한다. nums를 순회하면서 새로운 종류의 폰켓몬이 등장할 때마다 따로 저장해둔다. 이때 선택할 수 있는 폰켓몬 종류 개수의 최댓값은 N/2개이므로, 저장해둔 리스트의 길이가 N/2를 초과하면 안된다. 😎 내 코드 def solution(nums): answer = 0 te..
🗂️ 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 접근법 투 포인터를 사용하여 리스트의 인덱스에 접근했다. while문을 통해 i≤r일 때만 반복문을 수행한다. 투 포인터의 이동 원칙은 다음과 같다. people[l] + people[r] ≤ limit: l += 1 , r -= 1 people[l] + people[r] > limit: r -= 1 이때 l==r이면 r-=1을 수행한다. 예시를 통해 자세히 살펴보자. peo..
🗂️ 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 접근법 alpha라는 리스트에 알파벳 모음인 A, E, I, O, U를 저장해두고 product를 통해 alpha에 대한 중복 순열을 생성한다. 생성한 중복 순열을 정렬하고 word에 해당하는 인덱스를 뽑아내면 된다. 😎 내 코드 from itertools import product def solution(word): answer = 0 alpha = ['A', 'E', "I..
🗂️ 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 접근법 permutations를 이용하여 dungeons에 접근할 순서를 나타내는 모든 인덱스에 대한 경우의 수를 생성한다. 각각의 경우의 수에서 최대로 탐험할 수 있는 던전의 수를 구해서 max_visit 리스트에 저장한다. 이후 최종적으로 max_visit에서 최댓값을 출력한다. 😎 내 코드 from itertools import permutations def soluti..
🗂️ 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 접근법 순열을 사용하여 numbers에서 만들 수 있는 모든 경우의 수를 생성하여 set에 저장한다. 이때 중복된 값이 저장될 수 있으므로 set을 사용한다. 모든 경우의 수에 대해 소수인지 판별한다. 👀 배운 코드 from itertools import permutations def solution(numbers): answer = 0 def is_prime(n): if n..
🗂️ 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 접근법 return되는 값의 행과 열을 곱하면 brown+yellow가 된다. 따라서 행과 열의 값은 brown+yellow를 소인수분해한 값이다. 따라서 두 개의 수로 이루어지도록 소인수 분해를 수행하고 그 쌍들을 prime_list에 저장한다. 이후 소인수분해 쌍을 for문으로 돌면서 brown과 yellow 개수를 만족하는 조건에 해당하는 소인수가 answer이 된다. ..
🗂️ 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 접근법 학생 수는 3명이고, 각각의 학생이 찍는 답은 일정한 주기로 반복하므로 한 주기에 대해서만 리스트를 생성한다. 이후 맞는 값의 개수를 저장하는 answer_cnt 딕셔너리를 선언한다. answer 값을 순회하면서 학생이 찍은 답과 같으면 cnt를 1 증가시킨다. 이후 값에 대해 딕셔너리를 내림차순 정렬한다. 내림차순으로 정렬되었기 때문에 0번 인덱스에 해당하는 키가 가..
🗂️ 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 접근법 numbers 리스트 내 값들의 자릿수를 3자리로 맞춘다. 자릿수를 맞출 때 부족한 자릿수만큼 첫 번째 자리에 해당하는 수로 채운다. 즉 numbers=[3, 30, 34, 5, 9] → numbers=[333, 303, 343, 555, 999]가 된다. 이를 정렬하면 numbers = [999, 555, 343, 333, 303]이다. 이것의 원래 값을 이어붙여서 ..
jyjyjy25
'Algorithm/Programmers' 카테고리의 글 목록 (2 Page)