프로그래머스

    [프로그래머스] 코딩테스트 연습 연습문제 정수 내림차순으로 배치하기

    문제 문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰 것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를 들어 n이 118372면 873211을 리턴하면 됩니다. 입력 & 출력 입출력 예 nreturn 118372 873211 풀이 과정 1. 정수를 뒤집기 위하여 배열을 사용할 예정입니다. 정수 자체로 배열변환이 어려움으로 문자열로 변경하여 list로 캐스팅합니다. 2. 캐스팅 된 값은 오름차순 정렬이 default로 되어있습니다. 이것을. reverse() 함수를 이용하여 역순으로 정렬해줍니다. 3. 해당 내용을 for 문을 이용하여 answer 문자열로 재구성 해주면 원하는 값을 얻을 수 있습니다. 코드 def solution(n): answer =..

    [프로그래머스] 정수 제곱근 판별

    문제 문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 입력 & 출력 입출력 예 nreturn 121 144 3 -1 입출력 예 설명 입출력 예#1 121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴합니다. 입출력 예#2 3은 양의 정수의 제곱이 아니므로, -1을 리턴합니다. 풀이 과정 1. 단순한 제곱근 식을 이용해서 제곱근이 정수 값으로 나오게 되면 제곱근이 맞다고 생각하고 제곱근을 구한 것에 1을 더해서 제곱해준 것을 리턴 2. 아닐 경우에는 -1을 리턴하여 준다. 코드 def solution(..

    [프로그래머스] 코딩테스트 연습완전탐색 최소직사각형

    문제 문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다. 명함 번호가로 길이세로 길이 1 60 50 2 30 70 3 60 30 4 80 40 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때..

    [프로그래머스] 코딩테스트 연습월간 코드 챌린지 시즌1 3진법 뒤집기

    문제 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 입력 & 출력 입출력 예 nresult 45 7 125 229 새로 사용한 함수 int(str, base) 진법 변환을 위하여 사용되는 함수입니다. str에는 변경할 문자열을 넣고 base에는 해당 문자열이 몇 진수의 숫자를 나타내는 지를 넣어주면 됩니다. 위 식에서 표현한 것과 같이 str으로 넣어주는 것이 포인트 입니다. 풀이 과정 1. 2 8 16진법 같은 숫자는 파이썬에서 지원하는 진법 변환 함수가 있기 때문에 그것을 사용하면서 결괏값의 처음 자리와 두 번째 자리를 슬라이싱 해서 사용하면 되지만 3진법은 지원해주는 ..

    [프로그래머스] 코딩테스트 연습Summer/Winter Coding(~2018) 소수 만들기

    문제 문제 설명 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 제한사항 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 입력 & 출력 입출력 예 numsresult [1,2,3,4] 1 [1,2,7,6,4] 4 풀이 과정 itertools 중 permetations과 combinations 중 앞뒤 숫자가 순서가 바뀌더라도 더한 값은 같기 때문에 combina..

    [프로그래머스] 코딩테스트 연습2017 팁스타운 예상 대진표

    문제 문제 설명 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번,... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는 다시 1번부터 N/2번을 차례대로 배정받습니다. 만약 1번↔2번 끼리 겨루는 게임에서 2번이 승리했다면 다음 라운드에서 1번을 부여받고, 3번↔4번에서 겨루는 게임에서 3번이 승리했다면 다음 라운드에서 2번을 부여받게 됩니다. 게임은 최종 한 명이 남을 때까지 진행됩니다. 이때, 처음 라운드에서 A번을 가진 참가자는 경쟁자로 생각하는 B번 참가자와 ..