코딩 테스트
-
16. 2016년코딩 테스트/Level 1 2019. 10. 14. 23:15
https://programmers.co.kr/learn/courses/30/lessons/12901 파이썬 def solution(a, b): month = (31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) day = ('SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT') return day[(sum(month[0:a - 1]) + b + 4) % 7] 자바스크립트 function solution(a, b) { const month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; const day = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT']..
-
15. K번째수코딩 테스트/Level 1 2019. 10. 13. 23:02
https://programmers.co.kr/learn/courses/30/lessons/42748 파이썬 뭐라 뭐라 복잡하게 적어두었지만 차근차근 작성하면 다음과 같습니다. def solution(array, commands): answer = [] for i, j, k in commands: a = array[i - 1:j] a.sort() answer.append(a[k - 1]) return answer for와 리스트가 보인다면 리스트 컴프리헨션을 떠올려 보면 좋습니다. sort()와 sorted()의 차이도 설명드렸죠? https://inma.tistory.com/137 def solution(array, commands): return [sorted(array[i - 1:j])[k - 1]..
-
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..