본문 바로가기

프로그래머스58

[프로그래머스][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 2][Python] 영어 끝말잇기 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr 주의해야 할 점 탈락자가 생기는 이유는 앞 단어의 끝 글자와 뒷 단어의 첫 글자가 맞지 않는 경우도 있지만, 이전에 이미 사용했던 단어를 .. 2021. 8. 3.
[프로그래머스][Level 2][Python] 최솟값 만들기 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 최솟값 만들기 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱 programmers.co.kr 주의해야 할 점 매개변수로 주어지는 두 리스트 A, B의 길이가 서로 다르다면 좀 더 어려울 수도 있는 문제라고 생각됩니다. 이번 문제에서는 매개변수의 두 리스트 A, B의 길이가 같습니다. 굳이 주의할 점은 아니지만 두 리스트의 길이를 저장하려면 그냥 A, B 중 한 리스트의 길이만 재서 저장하면 됩니다. 생각한 풀이 과정 최종적으로 누적된 최솟값을 저장할 min_result 변수를 만들어줍.. 2021. 8. 1.
[프로그래머스][Level 2][Python] 숫자의 표현 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 숫자의 표현 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 programmers.co.kr 주의해야 할 점 정확성뿐만 아니라 효율성도 테스트하는 문제입니다. 정확성만 테스트하는 문제라고 해도 어느정도 효율성에 맞는 코드를 짜야되지만, 이런 문제와 같이 효율성을 대놓고 체크하는 문제는 실행 시간이 빠른 코드를 짜는데도 집중해야 합니다. 저처럼 코드를 짜게 된다면 n을 연속한 자연수들로 표현하는 방법들을 구할 때 시작하는 수를 무작정 1부터 n까지 고려하면 더 비효율적인 코드가 나올 것입.. 2021. 7. 31.
[프로그래머스][Level 2][Python] 위장 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 위장 programmers.co.kr 주의해야 할 점 스파이는 하루에 최소 한 개의 의상은 입는다는 것을 주의해야 합니다. 특히 저처럼 수학적으로 풀 때 주의해야 합니다. 생각한 풀이 과정 문제의 입출력 예제의 설명처럼 구현한 코드가 아닌, 수학적 접근으로 푼 방법입니다. 매개변수 clothes의 값에는 각 옷들이 종류마다 묶여서 저장되어 있지 않기 때문에, 옷의 종류를 key로, 옷의 이름을 value로 지정한 딕셔너리 변수로 구별해서 다시 만들어줍니다. 옷의 한 종류에는 여러 옷들이 있을 수 있기 때문에 딕셔너리의 value는 리스트 형태로 만들어줍니다. 옷의 종류마다 (각 옷의 종류에서 옷의 개수) + (이 옷의 종류를 입지 않는 .. 2021. 7. 30.
[프로그래머스][Level 2][Python] 괄호 회전하기 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 주의해야 할 점 문제에서는 올바른 괄호 문자열이 되게 하는 x의 개수라고 표현했는데 제가 생각하기엔 조금 헷갈리게 만들 수도 있다는 표현이라고 생각합니다. 그냥 한 번씩 회전하면서 올바른 괄호 문자열의 개수를 세면 됩니다. 올바른 괄호 문자열의 조건을 잘 읽어봐야 합니다. 대부분의 테스트 케이스들은 통과하는데 몇 개의 테스트를 통과하지 못한다면 아마 올바른 괄호 문자열의 조건을 제대로 이해하지 못하고 짠 코드일 것입니다. 저도 제대로 이해하지 못한 상태로 코드를 짜서 틀린 결과를 계속 봤었습니다. 생각한 풀이 과정 올바른 괄호 문자열의 개수를 저장할 변수를 하나 만들어줍니다. 문자열 s를 왼.. 2021. 7. 28.
[프로그래머스][Level 2][Python] 기능개발 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 주의해야 할 점 progresses에서 뒤에 있는 기능의 개발 일정이 앞에 있는 기능의 개발 일정보다 먼저 끝날 수 있다 하더라도, progresses에서 앞에 있는 기능이 먼저 배포돼야 뒤에 있는 기능을 배포할 수 있습니다. 생각한 풀이 과정 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 리스트 progresses와 각 작업의 개발 속도가 적힌 정수 리스트 speeds, 두 리스트에서 작업 순서를.. 2021. 7. 27.
[프로그래머스][Level 2][Python] 문자열 압축 밑의 링크는 프로그래머스에서의 문제 링크입니다. 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 주의해야 할 점 압축할 문자의 개수 단위는 1개부터 문자열 s의 길이의 절반까지만 고려하면 됩니다. 문자열 s의 길이의 절반보다 큰 단위로는 압축이 되지 않습니다. 압축한 문자열 단위 개수가 1일 때는 생략해야 합니다. 매개변수로 주어지는 문자열 s의 길이가 1일 때의 경우를 고려해야 합니다. 처음 짠 코드에서는 위의 조건을 따로 고려하지 않은 채로 제출해보니까 테스트 1개를 통과하지 못했습니다. 생각한 풀.. 2021. 7. 26.