목록Computer Science (244)
DHistory
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 """ 왼손 엄지손가락: * 오른손 엄지손가락: # 1) 엄지손가락은 상하좌우 방향으로만 이동 가능 (거리: 1) 2) 1, 4, 7은 왼손 엄지손가락 사용 3) 3, 6, 9는 오른손 엄지손가락 사용 4) 2, 5, 8, 0은 둘 중 가까운 더 가까운 엄지손가락 사용 4-1) 거리가 같은 경우 주 손잡이 이용 """ def solution(numbers, hand): answer = '' phone = { 1: (0, 0), 2: (0, 1), 3: (0, 2), 4: (1, 0), 5: (1, ..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 set으로 변한 후 출력하면 정렬이 되어있는 것처럼 보인다. 하지만 set은 집합이므로 정렬을 보장하지 않는다. list로 변경 후 정렬을 수행해야한다. import itertools def solution(numbers): return sorted(list(set([sum(numbers) for numbers in itertools.combinations(numbers, 2)]))) 채점 결과
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1 def solution(n): answer = '' while n: answer += str(n % 3) n //= 3 return sum([int(value) * 3**(len(answer) - 1 - index) for index, value in enumerate(answer)]) 채점 결과 풀이 2 (리팩토링) int 함수 기능 이용 def solution_refactor(n): answer = '' while n: answer += str(n % 3) n //= 3 return int(..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(a, b): return sum([value1 * value2 for value1, value2 in zip(a, b)]) 채점 결과
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 """ 규칙에 맞지 않는 아이디를 입력했을 때 => 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천 1. 아이디 길이 3~15 2. 소문사, 숫자, 빼기, 밑줄, 맞침표 3. .는 처음과 끝에 사용 불가 / 연속 사용 불가 변환 1. 대문자 => 소문자 2. 허용된 문자를 제외하고 모든 문자 제거 3. . 2번 이상인 경우 .로 치환 4. .가 처음이나 끝에 위치하는 경우 제거 5. 빈 문자열 => a로 변경 6. 16자 이상인 경우 첫 15개 문자를 제외한 나머지 문자 제거 (제거 후 마침표..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(absolutes, signs): return sum([absolutes[i] if signs[i] else -absolutes[i] for i in range(len(signs))]) 채점 결과
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 """ 1: 6개 번호 일치 2: 5개 번호 일치 3: 4개 번호 일치 4: 3개 번호 일치 5: 2개 번호 일치 6: 0,1개 번호 일치 로또에 낙서 => 알아볼 수 없는 번호 0 == example == 구매번호: 44, 1, 0, 0, 31, 25 당첨번호: 31, 10, 45, 1, 6, 19 최고순위: 0 -> 10, 0 -> 6: 4개번호 일치 (3등) 최저순위: 2개번호 일치 (5등) 최고 순위와 최저 순위 반환: [3, 5] 최고 순위를 구하는 경우 - 0을 모두 일치하는 번호로 생각..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 """ 약수의 개수가 짝수인 경우 => + 약수의 개수가 홀수인 경우 => - """ def solution(left, right): answer = 0 for number in range(left, right + 1): count = count_divisor(number) if count % 2 == 0: answer += number else: answer -= number return answer def count_divisor(number): count = 0 for i in range(1,..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 """ 일부 자릿수를 영단어로 바꿈 => 원래 숫자를 찾아야 함. == example == 1478 -> one4seveneight """ def solution(s: str): numbers = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'] for index, value in enumerate(numbers): s = s.replace(value, str(index)) return int(s) 채점 결과
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 """ 기존 이용료: price n번째 이용시: 기존 이용료 * n 예산 - 놀이기구 count번 이용 시 총 금액 """ def solution(price, money, count): return max(price * count * (count + 1) // 2 - money, 0) 채점 결과