[Programmers] level2 N개의 최소공배수
·
코딩 테스트/Python
문제 N개의 최소공배수문제 설명두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다.예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서,n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다.n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요.제한 사항arr은 길이 1이상, 15이하인 배열입니다.arr의 원소는 100 이하인 자연수입니다.입출력 예arr result[2,6,8,14] 168[1,2,3] 6 풀이import mathdef lcm(x, y): return abs(x * y) /..
[Programmers] level2 짝지어 제거하기
·
코딩 테스트/Python
문제 설명짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다.먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다.그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다.이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다.문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요.성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다.예를 들어, 문자열 S = baabaa 라면b aa baa → bb aa → aa →의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다.제한사항문자열의 길이 : 1,000,000이하의 자연수문자열은 모두 소문자로 이루어져 있습니다.입출력 예s resu..
[Programmers] level2 카펫
·
코딩 테스트/Python
문제 카펫문제 설명Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다.Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다.Leo가 본 카펫에서 갈색 격자의 수 brown,노란색 격자의 수 yellow가 매개변수로 주어질 때카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요.제한사항갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다.노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다.카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 깁니다...
[Programmers] level2 다음 큰 숫자
·
코딩 테스트/Python
문제 다음 큰 숫자문제 설명자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다.조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다.조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다.조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다.예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010011)입니다.자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요.제한 사항n은 1,000,000 이하의 자연수 입니다.입출력 예n result78 8315 23입출력 예 설명입출력 예#1문제 예시와 같습니다.입출력 예#215(1111)의 다음 큰 숫자는 2..
[Programmers] 영어 끝말잇기
·
코딩 테스트/Python
문제 설명1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다.영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다.1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다.마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다.앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다.이전에 등장했던 단어는 사용할 수 없습니다.한 글자인 단어는 인정되지 않습니다.다음은 3명이 끝말잇기를 하는 상황을 나타냅니다.tank → kick → know → wheel → land → dream → mother → robot → tank위 끝말잇기는 다음과 같이 진행됩니다.1번 사람이 자신의 첫 번째 차례에 tank를 말합니다.2번 사람이 자신의 첫 번째 차례에 kick을 말합니다.3..
[Programmers] 숫자의 표현
·
코딩 테스트/Python
문제 설명Finn은 요즘 수학공부에 빠져 있습니다.수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다.예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다.1 + 2 + 3 + 4 + 5 = 154 + 5 + 6 = 157 + 8 = 1515 = 15자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요.제한사항n은 10,000 이하의 자연수 입니다.입출력 예n result15 4입출력 예 설명입출력 예#1문제의 예시와 같습니다. [풀이]def solution(n): answer = 1 #정수 n의 값을 받습니다. # 정수 n을 연속된 자연수로 표현..
[Programmers] 중복된 숫자 개수
·
코딩 테스트/Python
문제 설명정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.제한사항1 ≤ array의 길이 ≤ 1000 ≤ array의 원소 ≤ 1,0000 ≤ n ≤ 1,000입출력 예array n result[1, 1, 2, 3, 4, 5] 1 2[0, 2, 3, 4] 1 0입출력 예 설명입출력 예 #1[1, 1, 2, 3, 4, 5] 에는 1이 2개 있습니다.입출력 예 #2[0, 2, 3, 4] 에는 1이 0개 있습니다. [풀이]def solution(array, n): #그냥 받은 숫자 배열에서 찾아서 새면끝...? return array.count(n)print(solution([..
[Programmers] level2 최솟값 만들기
·
코딩 테스트/Python
문제 설명길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다.배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다.이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다.이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다.(단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.)예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면A에서 첫번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5)A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) = 21)A에서 세번째..
개발자가 되고 싶은 곰
'programmers' 태그의 글 목록