📒 Today I Learn/🐍 Python

📋 문제  ✳️ 코드 작성def solution(n, m, section): answer = 0 painted = 0 for area in section: if area > painted: painted = area + m - 1 answer += 1 return answer 💟 함수 정의def solution(n, m, section):변수 n은 구역의 개수, m은 페인트할 수 있는 길이, section은 칠해야 할 구역들의 리스트 💟 변수 초기화 answer = 0 painted = 0answer : 최소한의 칠 횟수를 저장하는 변수painted : 마지막으로 칠한 구역의 끝 지점을 ..
📋 문제  ✳️ 코드 작성from itertools import combinationsimport mathdef is_prime(x): # 2부터 x의 제곱근까지의 모든 수를 확인하며 for i in range(2, int(math.sqrt(x)) + 1): # x가 해당 수로 나누어 떨어진다면 if x % i == 0: return False return True def solution(nums): answer = 0 for x in combinations(nums, 3): if is_prime(sum(x)): answer += 1 return answer 💟 라이브러리 호출fr..
📋 문제  ✳️ 코드 작성def solution(answers): pattern1 = [1, 2, 3, 4, 5] pattern2 = [2, 1, 2, 3, 2, 4, 2, 5] pattern3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] # 점수 저장 score = [0, 0, 0] # 정답 비교 및 점수 계산 for idx, answer in enumerate(answers): if answer == pattern1[idx % len(pattern1)]: score[0] += 1 if answer == pattern2[idx % len(pattern2)]: score[1] +=..
📋 문제  ✳️ 코드 작성🤔 코드 아이디어1. 교환한 병 개수를 카운팅하기 위한 빈 변수 설정2. while문을 이용해서 n이 a 이상일 때까지만 루프가 돌도록 설정(a 미만인 경우 교환 불가가 제한 사항)3. 갖고 있는 빈 병의 개수를 교환 가능한 새 병의 개수로 나눈 몫을 변수에 더함4. 3번 결과와 교환하고 남은 병을 더해서 새롭게 n을 업데이트 5. n이 a 미만이 될 때 까지 반복 후 끝나면 변수 반환  💟 코드 풀이def solution(a, b, n): answer = 0 while n >= a: answer += (n // a) * b n = (n // a) * b + (n % a) return answer 🟣 answer = 0answer ..
📋 문제 사이트   ✳️  코드 작성🤔 코드 아이디어1. 빈 문자열 변수를 설정한다.2.  food 리스트를 순회, 순회할 때 범위는 food 리스트의 길이만큼 순회하며 1번 인덱스부터3. 각 food 리스트의 숫자를 2로 나누어 반복횟수 구하기4. 각각의 food 리스트의 인덱스와 곱하기(문자열 연산), 빈 문자열 변수에 넣기5. 생성된 문자열 + '0' + 리버스된 문자열 반환  💟 코드 풀이def solution(food): left = '' for f_num in range(1, len(food)): left += str(f_num) * (food[f_num] // 2) return left + '0' + left[::-1] 🟣 left = ''왼..
https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    ✳️ 코드 작성🤔 코드 아이디어문자열 s의 각 문자를 차례로 확인각 문자가 등장할 때마다 그 문자의 마지막 등장 위치를 딕셔너리에 기록첫 등장 여부 판단 :문자가 처음 등장한 경우: 결과 리스트 answer에 -1을 추가문자가 이전에 등장한 경우: 현재 위치에서 그 문자가 마지막으로 등장한 위치를 뺀 값을 answer에 추가문자가 등장할 때마다 그 문자의 마지막 등장 위치를 딕셔너리에 갱신하..
https://school.programmers.co.kr/learn/courses/30/lessons/68644 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    ✳️ 코드 작성🤔 코드 아이디어1. 빈 집합 생성 (중복을 제거하기 위해) 2. 입력 리스트에서 두 개의 숫자를 선택 - 이중 for문3. 선택한 두 수의 합을 집합에 추가 4. 모든 경우의 수에 대해 합을 구함 5. 결과 반환 - 집합을 리스트로 변환하여 오름차순으로 정렬  💟 코드 풀이def solution(numbers): answer = set() for i in rang..
https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    ✳️ 코드 작성🤔 코드 아이디어1. commands 를 순회하면서 i, j, k에 대해 정의2. array를 슬라이싱해서 변수에 저장3.  변수를 정렬4. 정렬된 변수에서 k번째 숫자를 빈리스트에 추가 💟 코드 풀이def solution(array, commands): answer = [] for command in commands: i, j, k = command[0..
https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr     ✳️ 코드 작성🤔 코드 아이디어1. 사전 순으로 기존 strings 리스트를 정렬한다. (sort 이용)2. 사전 순으로 정렬되어 있는 리스트를 다시 n번째 문자를 기준으로 정렬한다. (sorted 이용) 💟 코드 풀이def solution(strings, n): strings.sort() # 1. 먼저 사전순으로 정렬 return sorted(strings, key=lambd..
https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    ✳️ 코드 작성🤔 코드 아이디어1. 문제에서 제시한 숫자에 대응하는 영단어 표를 딕셔너리로 저장한다.2. for문을 통해 딕셔너리를 순회한다.3. 문자열 s에 딕셔너리 순회중 key 값과 동일한 문자열이 있으면 value 값으로 교체한다.4. 반환은 정수 s로 한다. 💟 코드 풀이def solution(s): dict = {'zero' : 0, 'one' : 1, ..
se0ehe
'📒 Today I Learn/🐍 Python' 카테고리의 글 목록