코딩 테스트/Level 1
-
19. 문자열 내림차순으로 배치하기코딩 테스트/Level 1 2019. 10. 17. 23:01
https://programmers.co.kr/learn/courses/30/lessons/12917 파이썬 간단하게 내장함수(BIF)들을 이용해서 풀었습니다. def solution(s): return ''.join(sorted(s, reverse=True)) 파이썬을 시작했을 때 작성한 코드입니다. ㅜㅜ def solution(s): temp_list = [] for letter in s: temp_list.append(letter) temp_list.sort(reverse=True) answer = '' for each in temp_list: answer += each return answer def solution(s): temp_list = list(s) # list() 함수로 문자열을 바로 ..
-
18. 모의고사코딩 테스트/Level 1 2019. 10. 16. 03:18
https://programmers.co.kr/learn/courses/30/lessons/42840 파이썬 def solution(answers): a1 = (1, 2, 3, 4, 5) # 리스트보다 튜플이 더 좋다. 큰 의미는 없지만 a2 = (2, 1, 2, 3, 2, 4, 2, 5) a3 = (3, 3, 1, 1, 2, 2, 4, 4, 5, 5) scores = [0, 0, 0] for i, v in enumerate(answers): if v == a1[i % 5]: scores[0] += 1 if v == a2[i % 8]: scores[1] += 1 if v == a3[i % 10]: scores[2] += 1 mx = max(scores) return [i + 1 for i in range..
-
17. 같은 숫자는 싫어코딩 테스트/Level 1 2019. 10. 15. 23:07
https://programmers.co.kr/learn/courses/30/lessons/12906 파이썬 기본적인 풀이입니다. def solution(arr): answer = [] for i in range(len(arr) - 1): if arr[i] != arr[i+1]: answer.append(arr[i]) answer.append(arr[-1]) return answer 테스트 1 〉통과 (107.83ms, 997MB) 테스트 2 〉통과 (107.53ms, 996MB) 테스트 3 〉통과 (108.24ms, 997MB) 테스트 4 〉통과 (107.57ms, 998MB) 리스트 컴프리헨션으로 줄여 쓸 수 있습니다. 나쁘진 않은 것 같습니다. def solution(arr): answer = [a..
-
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) 테..