목록CodingTest/programmers (96)
기억은 짧고 기록은 길다

Link 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr Solution 해당 문제를 통해 set()간의 & 연산과 intersection()에 대해 알아가길 바란다. 또한, 아래에 set 집합 사용법에 대해 정리되어 있는 글을 참고에 넣어둘테니 습득하고 지나가길 바란다. def solution(lottos, win_nums): zero = lottos.count(0) ans = 0 for i in range(len(lottos)): if lottos[i] in ..

Link 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr Solution 해당 문제는 10진수를 n진수로 변환하는 방법만 알고 있었다면 쉽게 해결할 수 있는 문제였다. 10진수를 n진수로 변환하는 방법, n진수를 n진수로 변환하는 방법을 작성해뒀으니 참고바란다. def reverse_ternary(n): ter = '' while n > 0: n, mod = divmod(n, 3) ter += str(mod) return ter def solution(n): re..

Link 코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr Solution 해당 문제는 Dictionary를 사용하면 필자의 풀이 보다 훨씬 빠른 시간복잡도로 해결할 수 있는 문제였다. Other Solution을 참고하길 바라고 이번 문제를 통해 get()의 사용법을 알고 가길 바란다. 또한 lambda의 다중조건 정렬에서 하나는 내림차순, 다른 하나는 오름차순으로 정렬하는 방법을 사용하여 문제를 해결하였으니 해당 사항도 익히길 바란다. def solution(table, languages, preferenc..

Link 코딩테스트 연습 - 2주차 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr Solution 필자는 다른 풀이에 비해 투박한 방법으로 행렬을 변환했지만 아래 다른 풀이들의 변환 방법을 익혀두기 바란다. def solution(scores): answer = [] s = [] for i in range(len(scores)): t = [] for j in range(len(scores)): t.append(scores[j][i]) s.append(t) for i in r..

Link 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr Solution def solution(price, money, count): for i in range(1, count + 1): money -= price * i return -money if money < 0 else 0 📌 Tip: abs() Other Solution def solution(price, money, count): return abs(min(money - sum([price * i for i in range(1, count + 1)]), 0))

Link 코딩테스트 연습 - 내적 길이가 같은 두 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의 programmers.co.kr Solution def solution(a, b): return sum([a[i] * b[i] for i in range(len(a))]) 📌 Tip: zip(), lambda() Other Solution def solution(a, b): return sum([x * y for x, y in zip(a, b)]) def solution(a, b): return sum..