Python/CoTe 70

[programmers] 부족한 금액 계산하기

https://programmers.co.kr/learn/courses/30/lessons/82612 코딩테스트 연습 - 부족한 금액 계산하기 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr def solution(price, money, count): answer = sum(price*i for i in range(1, count+1)) - money return answer if answer > 0 else 0 포인트! 1. sum, for 한 라인으로 쓰기 2. return if 같은 라인에 쓰기 return value..

Python/CoTe 2022.02.26

[programmers] 비밀지도

https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr def solution(n, arr1, arr2): answer = [] for ar1, ar2 in zip(arr1, arr2): line1, line2 = list(bin(ar1)[2:]), list(bin(ar2)[2:]) tmp = "" while len(line1)=n: break line1.insert(0,'0') while len(line2)..

Python/CoTe 2022.02.26

[programmers] 나머지가 1이 되는 수 찾기

https://programmers.co.kr/learn/courses/30/lessons/87389 코딩테스트 연습 - 나머지가 1이 되는 수 찾기 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 입 programmers.co.kr 한 줄 코드! def solution(n): # answer = [] # for i in range(2,n): # if n%i == 1: # answer.append(i) # return min(answer) #한 줄 코드 return min([x for x in range(2,n) if n%x==1]) if 조건이..

Python/CoTe 2022.02.26

[programmers] 자릿수 더하기

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): answer = 0 tmp = list(str(n)) for i in range(len(tmp)): answer += int(tmp[i]) return answer #retur..

Python/CoTe 2022.02.22

[programmers] 같은 숫자는 싫어

https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 처음에는 answer 배열 새로 안 만들고 arr에서 pop 썼는데, for 문으로 돌고 있으니까 새로운 배열 만드는게 낫겠다 싶음 def solution(arr): answer = [] answer.append(arr[0]) for i in range(1,len(arr)): if arr[i] != answer[-1]: answer.a..

Python/CoTe 2022.02.22

[programmers] 정렬 내림차순 정렬

https://programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이 programmers.co.kr ##### 얻어갈 포인트 ##### 1. string을 문자 하나하나로 분리하고 싶을때, split('')은 empty seperator 라 되지 않지만 바로 list(string_) 만 씌워도 된다. 2. list에 있는 string을 이어붙일 때 ''.join(list_name) 이렇게 가능하다 -> 이건 매번..

Python/CoTe 2022.02.21

[programmers] 로또의 최고 순위와 최저 순위

https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 풀이 1. 0인 개수 세기 2. 로또와 일치하는 번호 개수 세기(실제로 로또의 번호들이 무엇인지는 상관 없음) - set 집합 함수와 &연산자 이용 3. 1번과 2번을 이용한 worst_rank, best_rank 구하기 - dictionary나 새로운 판별 함수를 쓸까 하다가, 7에서 빼는 방법으로 사용 def s..

Python/CoTe 2022.02.21

[programmers] 없는 숫자 더하기

https://programmers.co.kr/learn/courses/30/lessons/86051 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. programmers.co.kr set 함수를 이용해서 없는 숫자들만 따로 list로 만든 다음에 더했다 def solution(numbers): list_num = [1,2,3,4,5,6,7,8,9] for_list = set(list_num)-set(numbers) return sum(list(for_list)) 다른 사람 풀이를 보니 0~9..

Python/CoTe 2022.02.21

[programmers] 최소 직사각형

https://programmers.co.kr/learn/courses/30/lessons/86491 코딩테스트 연습 - 최소직사각형 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 이 문제는 곱해야하는 W 와 H를 찾는게 가장 중요하다. 회전을 고려한 패턴을 찾아보니, 회전을 한다 생각하고 1. 모든 직사각형에 대하여 직사각형의 두 변 중, 긴 것을 W, 짧은 것을 H로 바꿔주기 2. 각각 W와 H에서 최대값들을 찾은 후 곱한 값이 답이다. def solution(sizes): maxW = 0 maxH = 0 for i in range(len..

Python/CoTe 2022.02.21

[programmers] 문자열 내 마음대로 정렬하기

https://programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers.co.kr 처음에 defaultdict 썼다가 sort 정렬을 쓰기 위해서는 list가 편할 것 같아 tuple과 list 사용 def solution(strings, n): answer = [] list_ = [] for s in strings: list_.append((s[n],s)) list_.sor..

Python/CoTe 2022.02.21
728x90