파이썬
-
[프로그래머스 Python] 자연수 뒤집어 배열로 만들기Algorithm/1일 1코테 2020. 9. 23. 13:37
문제 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 입출력 예시 내 답 def solution(n): n = str(n) answer = [] for i in range(1, len(n)+1): a = int(n[-i]) answer.append(a) return answer 알고리즘 n에서 거꾸로 뽑은 값 answer에 하나씩 append. 그런데 생각해보니까 파이썬 알고리즘 인터뷰에서 [::-1]이 있었다!! 내 답 2 def solution(n): n = str(n) answer = [] for i in n: answer.append(int(i)) answer = answer[::-1] return ans..
-
[프로그래머스 Python] 자릿수 더하기Algorithm/1일 1코테 2020. 9. 23. 13:03
문제 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 입출력 예시 내 답1 def solution(n): sum = 0 n = str(n) for i in range(len(n)): sum += int(n[i]) return sum 알고리즘 n을 str로 바꿔주고 하나씩 출력하여 sum에 더해줌 문득 리스트로 바꾸면 sum()을 이용해 한번에 처리할 수 있겠단 생각이 들음! 내 답2 def solution(n): return sum([int(i) for i in str(n)]) 성공^~^
-
[프로그래머스 Python] 이상한 문자 만들기Algorithm/1일 1코테 2020. 9. 23. 12:51
문제 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 입출력 예시 내 답 def solution(s): answer = '' a = s.split() for word in a: for j in range(len(word)): if j%2 == 0: answer += word[j].upper() else: answer += word[j].lower() answer += ' ' return answer[:-1] 알고리즘 1. 공백을 기준으로 answer을 나눠준다. (try, hello, world)로 나뉨 2. 짝수면 대문..
-
[프로그래머스 Python] 약수의 합Algorithm/1일 1코테 2020. 9. 23. 11:35
문제 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 내 답 def solution(n): answer = 0 for i in range(1,n+1): if n%i == 0: answer += i return answer 알고리즘 1. n을 i(1부터 n까지)로 나누어서 나머지가 0인수는(=약수) answer에 더 한다 2. answer 출력 다른사람 풀이 def sumDivisor(num): # num / 2 의 수들만 검사하면 성능 약 2배 향상잼 return num + sum([i for i in range(1, (num // 2) + 1) if num % i == 0]) num//2로 범위지정(모든 약수는 반만 계산하면 되기 때문에) list com..
-
[백준알고리즘 Python] 2445 별찍기-8Algorithm/1일 1코테 2020. 9. 16. 21:11
www.acmicpc.net/problem/2445 2445번: 별 찍기 - 8 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 내가 쓴 답 n = int(input()) #입력받아 n으로 저장 a = 2*n # 정확히 2n-1 만큼 출력해야 함. 자주 사용할거라 a로 저장 for i in range(1, a): #1부터 2n-1까지 출력 (5 입력하면 9줄, 3 입력하면 5줄) if i
-
[python] sort와 sorted 차이프로그래밍/Python 2020. 8. 13. 09:29
1) sort - 리스트를 정렬하는 함수이다. - sort는 리스트 본체를 바꾼다. - 스트링은 정렬이 안된다. A.sort() # 오름차순 정렬 A.sort(reverse=True) # 내림차순 정렬 2) sorted - sort와 같이 리스트를 정렬하는 함수이다. - 하지만 본체를 바꾸지 않고 바뀐 값을 보여주기만 한다. (A 리스트 자체를 바꾸려면 하나씩 출력해서 넣어줘야함) - 스트링을 리스트로 변환해서 정렬해준다. sorted(A) #오름차순 정렬 sorted(A, reverse=True) #내림차순 정렬
-
[코테] K번째 수Algorithm/1일 1코테 2020. 3. 12. 19:44
문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 array의 길이는 1 이상 100 이하입니다. a..
-
[코테] 모의고사 - enumerateAlgorithm/1일 1코테 2020. 3. 11. 13:51
다들 너무 똑똑한거 아니냐고!!! 혼자 스스로 짜보다가 도저히 못풀겠어서 결국 다른 분 답 참고 ㅠㅠ 어떻게 저렇게 생각할 수 있는지 너무너무 천재같다.... 열심히 해야지! 문제 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마..