전체보기
-
14. 완주하지 못한 선수코딩 테스트/Level 1 2019. 10. 12. 23:00
https://programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 자체는 어렵지 않습니다만... 알고리듬에 따라 효율성이 꽤 차이 날 수 있습니다. 효율성에 제한을 건다면 해시와 시간 복잡도에 대한 개념이 필요한 문제가 될 수 있습니다. 파이썬 1명을 제외하고 전부 완주했다고 했으니까... 참가자와 완주자를 소팅 후 비교해서 이름이 다른 첫 번째 참가자가 불참자가 됩니다. 소트 알고리듬에 따라 효율성이 좌우가 됩니다. 언어에 내장된 소팅 알고리듬은 보통 O(n log ..
-
13. 문자열 내 p와 y의 개수코딩 테스트/Level 1 2019. 10. 11. 20:26
https://programmers.co.kr/learn/courses/30/lessons/12916 파이썬 정석적인 풀이. if in 튜플 부분이 파이써닉합니다. def solution(s): p_count, y_count = 0, 0 for each in s: if each in ('p', 'P'): p_count += 1 elif each in ('y', 'Y'): y_count += 1 return p_count == y_count 테스트 1 〉통과 (0.00ms, 10.1MB) 테스트 2 〉통과 (0.00ms, 10.1MB) 테스트 3 〉통과 (0.00ms, 10.3MB) 테스트 4 〉통과 (0.00ms, 10.2MB) 테스트 5 〉통과 (0.00ms, 10.2MB) 테스트 6 〉통과 (0.01..
-
12. 나누어 떨어지는 숫자 배열코딩 테스트/Level 1 2019. 10. 10. 23:52
https://programmers.co.kr/learn/courses/30/lessons/12910 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 파이썬 무난한 답입니다. def solution(arr, divisor): answer = [] count = False for each in arr: if each % divisor == 0: answer.append(each) count = True answer.sort() if not count: answer.append(-1) return answer 테스트 1 〉통과 (0.02ms, 10.2MB) 테..
-
11. 문자열 다루기 기본코딩 테스트/Level 1 2019. 10. 9. 23:53
https://programmers.co.kr/learn/courses/30/lessons/12918 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 파이썬 파이썬의 숫자판별함수에 대해 잘 정리된 블로그 : https://soooprmx.com/archives/10159 def solution(s): return (len(s) in (4, 6)) and s.isdecimal() 자바스크립트 다른 분들의 답을 보니 재미있는 게 많더군요. ㅎㅎㅎ function solution(s){ return (s.length == 4 || s.length == 6) &&..
-
10. 핸드폰 번호 가리기코딩 테스트/Level 1 2019. 10. 8. 23:45
https://programmers.co.kr/learn/courses/30/lessons/12948 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 파이썬 def solution(phone_number): return '*' * (len(phone_number) - 4) + phone_number[-4:] 자바스크립트 function solution(s) { return '*'.repeat(s.length-4).concat(s.slice(-4)); } 자바 클래식합니다. class Solution { public String solution(String ..
-
9. 두 정수 사이의 합코딩 테스트/Level 1 2019. 10. 7. 23:35
https://programmers.co.kr/learn/courses/30/lessons/12912 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 파이썬 3항 연산자를 이용했습니다. 가독성이 별로.. def solution(a, b): return sum(range(a, b + 1)) if (a < b) else sum(range(b, a + 1)) 테스트 1 〉통과 (0.05ms, 10.7MB) 테스트 2 〉통과 (0.04ms, 10.7MB) 테스트 3 〉통과 (0.04ms, 10.8MB) 테스트 4 〉통과 (307.00ms, 10.6MB) 테스트 5..
-
8. 약수의 합코딩 테스트/Level 1 2019. 10. 6. 22:01
https://programmers.co.kr/learn/courses/30/lessons/12928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 파이썬 def solution(n): answer = 0 for i in range(1, n + 1): if not n % i: answer += i return answer for문을 리스트 컴프리헨션으로 바꾸면 파이써닉해 보이죠? def solution(n): return sum([i for i in range(1, n + 1) if not n % i]) 재사용되지 않는 리스트 컴프리헨션은 제너레이터 익스..
-
7. 가운데 글자 가져오기코딩 테스트/Level 1 2019. 10. 5. 23:00
https://programmers.co.kr/learn/courses/30/lessons/12903 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr 파이썬 가장 흔한 해법일 겁니다. def solution(s): length = len(s) center = length // 2 if length % 2: return s[center] else: return s[center - 1:center + 1] 꾸역꾸역 밀어 넣으면 한 줄로도 가능합니다만. 가독성이 좋지 않습니다..