Engineering WIKI/Programmers
-
[프로그래머스] 시저 암호Engineering WIKI/Programmers 2022. 4. 19. 11:09
코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr 내 풀이 (실패) def solution(s, n): answer = '' upper_list = list() lower_list = list() for i in range(ord('A'), ord('Z') + 1): upper_list.append(chr(i)) for i in range(ord('a'), ord('z') + 1): lower_list.append(chr(i)) for i in s: if i in upper_list..
-
[프로그래머스] 문자열을 정수로 바꾸기Engineering WIKI/Programmers 2022. 4. 19. 11:07
코딩테스트 연습 - 문자열을 정수로 바꾸기 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니 programmers.co.kr 내 풀이 def solution(s): return int(s) 다른방법 1 str[::-1]은 주어진 스트링을 거꾸로 만들어 버립니다. 그 다음에 enumerate 함수를 이용하여 한 글자당 인덱스를 배정해서 각 자리에 10의 지수만큼 곱해서 더해주는 거네요. 예를 들면 "-1234"는 str[::-1]에 의해 "4321-"가 되고 4 * (10 ** 0) + 3 * (10 ** 1) + 2 * (10 **2) + 1 ..
-
[프로그래머스] 소수 찾기Engineering WIKI/Programmers 2022. 4. 19. 11:06
코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr 내 풀이 (실패) 테스트 10 ~ 테스트 12 : 실패 효율성 : 실패 def is_prime_number(x): for i in range(2, x): if x % i == 0: return False return True def solution(n): answer = 0 for i in range(2, n + 1): if is_prime_number(i) == True: answer += 1 return answer 다른 방법 소수를..
-
[프로그래머스] 문자열 다루기 기본Engineering WIKI/Programmers 2022. 4. 15. 13:26
코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 programmers.co.kr 내 풀이 def solution(s): answer = False if (len(s) == 4 or len(s) == 6) and s.isdigit(): return True return answer 다른방법 1 def alpha_string46(s): return s.isdigit() and len(s) in (4, 6) # 아래는 테스트로 출력해 보기 위한 코드입니다. print( alpha_string..
-
[프로그래머스] 문자열 내림차순으로 배치하기Engineering WIKI/Programmers 2022. 4. 15. 13:25
코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr 내 풀이 def solution(s): answer = '' s_list = sorted(s, reverse=True) answer = "".join(s_list) return answer 다른방법 1 def solution(s): return ''.join(sorted(s, reverse=True)) 다른방법 2 def solution(s): s = list(s) s.sort(reverse = True) answer = "" for..
-
[프로그래머스] 문자열 내 p와 y의 개수Engineering WIKI/Programmers 2022. 4. 15. 13:23
코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 programmers.co.kr 내 풀이 def solution(s): answer = True p_count = 0 y_count = 0 s = s.lower() for i in s: if i == "p": p_count += 1 elif i == "y": y_count += 1 if p_count != y_count: return False return True 다른방법 1 def numPY(s): # 함수를 완성하세요..
-
[프로그래머스] 문자열 내 마음대로 정렬하기Engineering WIKI/Programmers 2022. 4. 14. 15:40
코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers.co.kr 내 풀이 (실패) def solution(strings, n): word_dic = {} for i in sorted(strings): word_dic[i] = i[n] result = sorted(word_dic.keys(), key=lambda x: x[1]) return result 다른 방법 def solution(strings, n): return sorted(sorted(strings..
-
[프로그래머스] 두 정수 사이의 합Engineering WIKI/Programmers 2022. 4. 14. 15:35
코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr 내 풀이 def solution(a, b): answer = 0 num_list = [] num_list.append(a) num_list.append(b) num_list = sorted(num_list) for i in range(num_list[0], num_list[1] + 1): answer += i return answer 다른방법 1 def adder(a, b): # 함수를 완성하..