본문 바로가기
728x90
반응형

프로그래머스38

프로그래머스 - 제일 작은 수 제거하기, C++ https://programmers.co.kr/learn/courses/30/lessons/12935 코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1 programmers.co.kr #include #include using namespace std; vector solution(vector arr) { int min = 999; int idx = -1; for(int i=0; i arr[i] ){ min = arr[i]; idx = i; } } if( arr.size() == 1 ){ arr.. 2021. 11. 21.
프로그래머스 - 이상한 문자 만들기, C++ https://programmers.co.kr/learn/courses/30/lessons/12930?language=cpp 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr #include #include using namespace std; string solution(string s) { string answer = ""; bool toggle = true; for(int i=0; i 2021. 11. 20.
프로그래머스 - 정수 내림차순으로 배치하기, 파이썬 https://programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이 programmers.co.kr def solution(n): return int( "".join ( sorted( list( str(n)), reverse=True) ) ) 2021. 11. 19.
프로그래머스 - 자릿수 더하기, 파이썬 https://programmers.co.kr/learn/courses/30/lessons/12931 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr def solution(n): return sum( list( map(int, str(n) ) ) ) 2021. 11. 19.
프로그래머스 - 자연수 뒤집어 배열로 만들기, 파이썬 https://programmers.co.kr/learn/courses/30/lessons/12932 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr def solution(n): answer = [] n = str(n) n = list(n)[::-1] return list( map( lambda x: int(x), n ) ) 위는 처음으로 작성한 정답, 뭔가 lambda를 써보고 싶어서 생각을 많이 해봤음. def solution(n.. 2021. 11. 19.
프로그래머스 - 최대공약수와 최소공배수, 파이썬 https://programmers.co.kr/learn/courses/30/lessons/12940 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr def gcd(p, q): if p < q : p, q = q, p if q == 0: return p else: return gcd(q, p % q) def solution(n, m): answer = [] answer.append( gcd(n, m) ) # 최대공약수 구하기 answer.append( (n * m) / gcd(.. 2021. 11. 19.
프로그래머스 - 약수의 합, 파이썬 https://programmers.co.kr/learn/courses/30/lessons/12928 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수 programmers.co.kr def solution(n): answer = 0 for i in range(1, n+1): if( n % i == 0 ): answer += i return answer 첫번째로 짜본 코드 def solution(n): return sum( filter( lambda x: n % x == 0, range(1.. 2021. 11. 18.
프로그래머스 - 문자열 내 마음대로 정렬하기, 파이썬 https://programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers.co.kr def solution(strings, n): return sorted( sorted(strings), key=lambda str: str[n] ) sorted는 정렬 함수이며, key 옵션을 줘서 정렬 방식을 다르게 줄 수도 있다. lamda는 익명함수이며, lambda (인자): (함수 몸체.. 2021. 11. 18.
프로그래머스 - 문자열을 정수로 바꾸기, C++ https://programmers.co.kr/learn/courses/30/lessons/12925?language=python3 코딩테스트 연습 - 문자열을 정수로 바꾸기 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니 programmers.co.kr def solution(s): answer = int(s) return answer 2021. 11. 18.
프로그래머스 - 수박수박수박수박수박수?, C++ https://programmers.co.kr/learn/courses/30/lessons/12922 코딩테스트 연습 - 수박수박수박수박수박수? 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 programmers.co.kr #include #include using namespace std; string solution(int n) { string answer = ""; for( int i=1; i 2021. 11. 18.
프로그래머스 - 행렬의 덧셈, 파이썬 https://programmers.co.kr/learn/courses/30/lessons/12950 코딩테스트 연습 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요 programmers.co.kr def solution(arr1, arr2): answer = [] for i in range( len(arr1) ): sum = [] for j in range( len(arr1[0]) ): sum.append( arr1[i][j] + arr2[i][j] ) answer.append( sum ) return answer 2021. 11. 18.
프로그래머스 - 핸드폰 번호 가리기, C++ https://programmers.co.kr/learn/courses/30/lessons/12948 코딩테스트 연습 - 핸드폰 번호 가리기 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자 programmers.co.kr #include #include using namespace std; string solution(string phone_number) { int len = phone_number.size(); for( int i=5; i 2021. 11. 18.
728x90
반응형