skinOptions.hljs
Programmers / 하샤드 수 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 하샤드 수 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12947/solution_groups?language=python3 나의 풀이 def solution(x): new_x = str(x) sum = 0 for i in new_x: sum += int(i) if x % sum == 0: return True else: return False
Programmers / 콜라츠 추측 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 콜라츠 추측 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12943 나의 풀이 def solution(num): cnt = 0 while num > 1: if num % 2 == 0: num = num/2 cnt += 1 elif num % 2 == 1: num = num*3 + 1 cnt += 1 if cnt == 500: cnt = -1 break return cnt 문제의 조건대로만 작성하면 쉽게 풀 수 있다. 다른 풀이 def collatz(num): for i in range(500): num = num / 2 if num % 2 == 0 else num*3 + 1 if num == ..
Programmers / 정수 내림차순으로 배치하기 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 정수 내림차순으로 배치하기 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12933 나의 풀이 1 def solution(n): n = list(str(n)) n.sort(reverse = True) return int("".join(n)) 나의 풀이 2 def solution(n): n = list(str(n)) n.sort(reverse = True) res = 0 for i in range(len(n)): res = res*10 + int(n[i]) return res
Programmers / 문자열 내 p와 y의 개수 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 문자열 내 p와 y의 개수 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12916 나의 풀이 def solution(s): p_cnt = 0 y_cnt = 0 s = s.upper() for i in range(len(s)): if s[i] == 'P': p_cnt += 1 elif s[i] == 'Y': y_cnt += 1 if p_cnt == y_cnt: return True else: return False count 를 이용해서도 풀 수 있을 거 같다
Programmers / 소수찾기 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 소수 찾기 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12921 나의 풀이 def solution(n): ch = [0] * (n+1) cnt = 0 for i in range(2,n+1): if ch[i] == 0: cnt += 1 for j in range(i,n+1,i): ch[j] = 1 return cnt 다른 풀이 def solution(n): num=set(range(2,n+1)) for i in range(2,n+1): if i in num: num-=set(range(2*i,n+1,i)) return len(num) ※ 알아야 할 것 - set함수를 이용해서도 풀 수 있다
Programmers / 약수의 개수와 덧셈 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 약수의 개수와 덧셈 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/77884 나의 풀이 #약수의 개수를 세는 함수 def count(x): cnt = 0 for i in range(1,x//2+1): if x % i == 0: cnt += 1 return cnt #약수가 짝수인지 홀수인지 정리하고 출력하는 함 def solution(left,right): arr_cnt = [] res = [] for i in range(left,right+1): arr_cnt.append(count(i)) res.append(i) for i in range(len(arr_cnt)): if arr_cnt[i] %..
Programmers / 같은 숫자는 싫어 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 같은 숫자는 싫어 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12906 나의 풀이 def solution(arr): answer = [arr[0]] for i in range(1,len(arr)): if arr[i] != arr[i-1]: answer.append(arr[i]) return answer for 문을 돌면서 앞 뒤 문자를비교하는 조건문을 사용하는 것이 좋다. 이 문제를 응용한 다른 문제도 많으니 참고할 것 기본기가 되는 좋은 문제 다른 풀이 1 def no_continuous(s): return [s[i] for i in range(len(s)) if s[i] != s[i+1:..
Programmers / 나누어 떨어지는 숫자 배열 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 나누어 떨어지는 숫자 배열 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12910 나의 풀이 def solution(arr, divisor): answer = [] for i in arr: if i % divisor == 0: answer.append(i) if answer == []: return [-1] answer.sort() return answer 모범답안 def solution(arr, divisor): return sorted([n for n in arr if n%divisor == 0]) or [-1] ※ 알아야 할 것 - python은 or 앞이 참일경우 해당 값까지만 , 거짓..
Programmers / 제일 작은 수 제거하기/ Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 제일 작은 수 제거하기 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12935 나의 풀이 def solution(arr): arr.remove(min(arr)) if arr == []: arr.append(-1) return arr ※ 알아야 할 것 - min() 함수는 리스트의 최솟값을 반환한다.
Programmers / 자연수 뒤집어 배열로 만들기 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 자연수 뒤집어 배열로 만들기 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12932 나의 풀이 def solution(n): return list(map(int,reversed(str(n)))) ※ 알아야 할 것 - str로 받은 함수를 다시 int로 만들어야한다..
Programmers / 문자열 내림차순으로 배치하기 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 문자열 내림차순으로 배치하기 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12917 나의 풀이 def solution(s): answer = '' a = sorted(s, reverse = True) answer = ''.join(a) return answer sorted 함수와 join함수를 이용하였다. sorted함수는 리스트 함수를 정열하는 함수라서 join함수를 이용하여 리스트 형태가 아닌 문자열의 형태로 값을 저장하도록 하였다. 모범답안 def solution(s): return ''.join(sorted(s, reverse=True)) ※ 알아야 할 것 - join 함수를 이용하면 ..
Programmers / 문자열 다루기 기본 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 문자열 다루기 기본 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12918 나의 풀이 def solution(s): if s.isnumeric() == True : if len(s) == 4 or len(s) == 6: return True else: return False else: return s.isnumeric() isnumeric() 함수는 값이 숫자인 경우 True, 그 외에는 False를 반환한다. 모범답안 def alpha_string46(s): return s.isdigit() and len(s) in (4, 6) 'len(s) 값이 [4,6]리스트에 포함되어 있나' 라는 코드..