본문 바로가기

Level 143

[프로그래머스][Level 1][Python][위클리 챌린지][8주차] 최소직사각형 밑의 링크는 프로그래머스에서의 문제 링크입니다. 문제와 예제 설명은 링크를 통해서 직접 봐주시길 바랍니다. 코딩테스트 연습 - 8주차 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 생각한 풀이 과정 처음 매개변수로 주어지는 각 명함들의 가로, 세로 길이에서 더 긴 길이와 짧은 길이들을 서로 양쪽으로 몰아주고 긴 길이들 중에서 최댓값, 짧은 길이들 중에서 최댓값을 곱하면 모든 명함들을 수납할 수 있는 가장 작은 지갑의 크기를 계산할 수 있다고 생각했습니다. 긴 길이들을 명함의 가로 길이로 간주해 새로 명함들의 사이즈를 저장할 리스트 변수를 선언.. 2021. 9. 29.
[프로그래머스][Level 1][Python][위클리 챌린지][2주차] 상호 평가 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 2주차 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr 생각한 풀이 과정 학생들의 학점을 순서대로 저장할 변수 grades를 선언합니다. 문자열 형태로 반환해야 하므로 빈 문자열로 초기화합니다. 학생들의 수를 저장하는 변수 student_cnt를 선언합니다. 0번부터 끝번 학생까지 반복해봅니다. 현재 번호의 학생이 받은 점수들을 저장할 리스트 변수 cur_student_scores를 선언합니다. 자기 자신을 .. 2021. 8. 9.
[프로그래머스][Level 1][Python][위클리 챌린지][1주차] 부족한 금액 계산하기 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 1주차 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr 주의해야 할 점 저처럼 등차수열의 합의 공식을 이용해서 푼다면 공식을 기억하고 있어야 풀 수 있습니다. 저도 까먹고 있었지만, 최근에 등차수열에 대해 한 번 볼 일이 있어서 기억해내고 풀 수 있었습니다. 만약 등차수열의 합이 기억이 안 나신다면 그냥 반복문을 이용해서 푸실 수 있습니다. 생각한 풀이 과정 놀이기구를 count번 타는데 필요한 금액을 등차수열의 합을 이용해서 구하고 cost 변수에 저장합니.. 2021. 8. 4.
[프로그래머스][Level 1][Python] 행렬의 덧셈 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요 programmers.co.kr 생각한 풀이 과정 행렬의 덧셈은 두 행렬의 행과 열의 크기가 무조건 같기 때문에 크기를 생각할 때 한 행렬의 크기만 생각해도 됩니다. 행렬의 덧셈 결과를 저장할 리스트 변수를 하나 만들어줍니다. 행렬의 원소 하나씩 접근하기 위해 arr1과 arr2 내부에서 먼저 한 행에 접근하고 또 그 내부에서 한 원소씩 접근해봅니다. 이중 반복문을 사용해봅니다. 하나의 행을 의미하는 리스트를 만들고.. 2021. 7. 25.
[프로그래머스][Level 1][Python] 2016년 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr 생각한 풀이 과정 2016년 1월 1일은 금요일부터 시작하므로 금요일부터 시작해서 목요일로 끝나는 튜플 변수를 하나 만들어줍니다. 1월부터 12월까지 각 월마다의 일수를 저장하는 튜플 변수를 하나 만들어줍니다. 2016년 1월 1일부터 2016년 a월 b일까지의 총 일수를 계산합니다. 총 일수를 7로 나누고 나온 나머지를 구합니다. 4번 과정에서 나온 나머지를 1번 과정에서 .. 2021. 7. 24.
[프로그래머스][Level 1][Python] 시저 암호 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr 파이썬 코드와 결과입니다. # 문자열 s, 거리 n이 매개변수로 주어집니다. # 문자열 s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다. # 문자열 s의 길이는 8,000 이하입니다. # n은 1 이상, 25 이하인 자연수입니다. def solution(s, n): # 소문자 알파벳을 순서대로 저장한 변수를 선언합니다. alphabet = 'abcdefghijklmnopqrs.. 2021. 7. 21.
[프로그래머스][Level 1][Python] 소수 만들기 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 파이썬 코드와 결과입니다. # combinations를 사용하기 위해 import합니다. from itertools import combinations # 숫자들이 들어있는 리스트 nums가 매개변수로 주어집니다. # 숫자의 개수는 3개 이상 50개 이하입니다. # 각 원소는 1 이상 1,000 이하의 자연수이고, 중복된 숫자는 없습니다. def solution(nums): # 서로 다른 3개의.. 2021. 7. 19.
[프로그래머스][Level 1][Python] 약수의 합 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수 programmers.co.kr 파이썬 코드와 결과입니다. # 정수 n이 매개변수로 주어집니다. # n은 0 이상 3,000 이하인 정수입니다. def solution(n): # n의 약수를 모두 더한 값을 저장할 변수를 선언합니다. answer = 0 # 1부터 n의 제곱근까지 반복할 것이므로 # n의 제곱근보다 작거나 같은 정수를 저장하는 변수를 선언합니다. limit = int(n ** .. 2021. 7. 19.
[프로그래머스][Level 1][Python] 실패율 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 파이썬 코드와 결과입니다. # 전체 스테이지의 개수 N, # 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 리스트 stages가 매개변수로 주어집니다. def solution(N, stages): # 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호들을 저장할 리스트 변수를 선언합니다. answer = [None] * N # (스테이지 번호, 실패율) 튜플 정보를 저장할 리스트 변수를 선언합니.. 2021. 7. 16.
[프로그래머스][Level 1][Python] 3진법 뒤집기 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 파이썬 코드와 결과입니다. # 자연수 n이 매개변수로 주어집니다. # n은 1 이상 100,000,000 이하인 자연수입니다. def solution(n): # 정답을 저장할 변수를 선언합니다. answer = '' # n이 3보다 크거나 같은 경우, 계속 반복합니다. while n >= 3: # n을 3으로 나누고 나온 나머지를 문자열로 변환하고 answer에 넣어줍.. 2021. 7. 16.