본문 바로가기

728x90
반응형

코딩테스트/Programmers

(34)
[Programmers/프로그래머스]문자열 내림차순으로 배치하기 문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 입출력 예 s return "Zbcdefg" "gfedcbZ" 풀이 이 문제는 sorted() 함수를 사용하면 간단하게 해결된다. sorted() 함수의 reverse 속성을 true로 주게되면 내림차순으로 정렬된 리스트를 반환한다. sorted() 함수는 정렬 시 대문자를 소문자 보다 작은것으로 간주한다. 이렇게 정렬된 리스트를 join() 메서드로 문자열로 만든 후 반환하면 된다. def solution(s): return ''.join..
[Programmers/프로그래머스]내적 문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 제한사항 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 입출력 예 a b result [1,2,3,4] [-3,-1,0,2] 3 [-1,0,1] [1,0,-1] -2 입출력 예 설명 입출력 예 #1 a와 b의 내적은 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3 입니다. 입출력 예 #2 a와 b의 내적은 (-1)*1 + 0*0 + 1*(-1)..
[Programmers/프로그래머스]없는 숫자 더하기 문제 설명 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ numbers의 길이 ≤ 9 0 ≤ numbers의 모든 원소 ≤ 9 numbers의 모든 원소는 서로 다릅니다. 입출력 예 numbers return [1,2,3,4,6,7,8,0] 14 [5,8,4,0,6,7,9] 6 입출력 예 설명 입출력 예 #1 5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다. 입출력 예 #2 1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다. 풀이 이..
[Programmers/프로그래머스]가운데 글자 가져오기 문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s return "abcde" "c" "qwer" "we" 풀이 이 문제는 먼저 s의 길이가 짝수일 때와 홀 수 일때의 경우로 나눠야 한다. 짝수 : 가운데 두글자 반환 --> 전체 길이의 1/2 한 index의 -1 부터 1/2 한 위치 까지의 값을 반환하면 된다. 홀수 : 가운데 글자 반환 --> 전체 길이의 1/2 한 index의 값을 반환 하면된다. s의 길이의 1/2한 값을 변수에 저장한다. 조건문으로 s의 길이가 짝수인지 홀 수인지 판별한다. 짝수 일 때는 문자열 슬라이싱을 통해 s의..
[Programmers/프로그래머스]수박수박수박수박수박수? 문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 조건 n은 길이 10,000이하인 자연수입니다. 입출력 예 n return 3 "수박수" 4 "수박수박 풀이 이 문제는 먼저 문자열이 출력되어야 하는 패턴에 대해 알아봐야한다. "수박수박수박수..."를 살펴볼 때 제일 첫번째를 0번으로 생각하고 보면 0을 포함한 짝수번째는 "수"가 출력되고 홀수번째에는 "박"이 출력된다. 그렇다면 0~n까지 출력되는 숫자를 2로 나눈 나머지가 0이면 "수"를 넣고 0이 아니면 "박"이 넣은 리스트를 만들고 문자열로 변환하면 된다. 리스트 컴프리헨션과 조건..

728x90
반응형