분류 전체보기(66)
-
프로그래머스 lv0 - 전국 대회 선발 고사
문제 설명 0번부터 n - 1번까지 n명의 학생 중 3명을 선발하는 전국 대회 선발 고사를 보았습니다. 등수가 높은 3명을 선발해야 하지만, 개인 사정으로 전국 대회에 참여하지 못하는 학생들이 있어 참여가 가능한 학생 중 등수가 높은 3명을 선발하기로 했습니다. 각 학생들의 선발 고사 등수를 담은 정수 배열 rank와 전국 대회 참여 가능 여부가 담긴 boolean 배열 attendance가 매개변수로 주어집니다. 전국 대회에 선발된 학생 번호들을 등수가 높은 순서대로 각각 a, b, c번이라고 할 때 10000 × a + 100 × b + c를 return 하는 solution 함수를 작성해 주세요. 내 코드 정답 코드 def solution(rank, attendance): arr = sorted([..
2023.07.02 -
프로그래머스 lv0 - 무작위로 K개의 수 뽑기
문제 설명 랜덤으로 서로 다른 k개의 수를 저장한 배열을 만드려고 합니다. 적절한 방법이 떠오르지 않기 때문에 일정한 범위 내에서 무작위로 수를 뽑은 후, 지금까지 나온적이 없는 수이면 배열 맨 뒤에 추가하는 방식으로 만들기로 합니다. 이미 어떤 수가 무작위로 주어질지 알고 있다고 가정하고, 실제 만들어질 길이 k의 배열을 예상해봅시다. 정수 배열 arr가 주어집니다. 문제에서의 무작위의 수는 arr에 저장된 순서대로 주어질 예정이라고 했을 때, 완성될 배열을 return 하는 solution 함수를 완성해 주세요. 단, 완성될 배열의 길이가 k보다 작으면 나머지 값을 전부 -1로 채워서 return 합니다. def solution(arr, k): ret = [] for i in arr: if i not..
2023.07.02 -
프로그래머스 lv0 - 공백으로 구분하기 2
문제 설명 단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요. solution=lambda x:x.split() def solution(my_string): return [i for i in my_string.split(" ") if i != ""] split 빈칸은 모든 공백을 없앤다.
2023.07.02 -
프로그래머스 lv0 - 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기
문제 설명 문자열 myString과 pat가 주어집니다. myString의 부분 문자열중 pat로 끝나는 가장 긴 부분 문자열을 찾아서 return 하는 solution 함수를 완성해 주세요. solution=lambda x,y:x[:x.rindex(y)+len(y)] cf. find() 메서드 : 지정 문자열 처음 위치. (없을 시, -1반환) index() 메서드 : 지정 문자열 처음 위치. (없을 시, Exception 반환.) rfind() 메서드 : 지정 문자열 끝 위치. (없을 시, -1반환) rindex() 메서드 : 지정 문자열 끝 위치. (없을 시, Exception 반환.)
2023.07.02 -
프로그래머스 lv0 - 길이에 따른 연산
문제 설명 정수가 담긴 리스트 num_list가 주어질 때, 리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10 이하이면 모든 원소의 곱을 return하도록 solution 함수를 완성해주세요. def solution(num_list): if len(num_list) >= 11: return eval('+'.join(list(map(str, num_list)))) else: return eval('*'.join(list(map(str, num_list)))) eval을 쓰면 훨씬 간단해 질 수 있음.
2023.07.02 -
프로그래머스 lv0 - 조건에 맞게 수열 변환하기 1
문제 설명 정수 배열 arr가 주어집니다. arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고, 50보다 작은 홀수라면 2를 곱합니다. 그 결과인 정수 배열을 return 하는 solution 함수를 완성해 주세요. def solution(arr): answer = [] for i in arr: if i>=50 and i%2==0: i/=2 elif i
2023.07.02