본문 바로가기

반응형

전체 글

(85)
[Python] 프로그래머스 콜라츠 추측 파이썬 코드 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야하는지 반환하는 함수, solution을 완성해 주세요. 단, 작업을 500번을 반복해도 1이 되지 않는다면 –1을 반환해 주세요. 제한 사항 입력된 수, num은 1 이상 8000000 미만인 정수입니다. 입출력 예 n res..
[Python] win32com.client 설치하는 방법 Window 10 ver. 📌 win32com ? win32com은 pywin32 이라고도 하며, 윈도우 상에서 Python을 이용하여 ActiveX 함수를 호출할 수 있도록 도와주는 역할을 한다. COM(Component Object Model)은 마이크로소프트에서 만들었으며, 다른 언어들을 python으로 변환해주는 것이라 생각하면 된다. 파이썬에서 다른 프로그래밍 언어로 작성된 COM 객체를 생성하려면 win32com.client라는 모듈의 Dispatch 메소드를 사용하면 된다. 예를 들어 마이크로소프트의 엑셀에 대한 객체를 생성하려면 다음과 같이 구현한다. import win32com.client excel = win32com.client.Dispatch("Excel.Application") excel.Visible = ..
[Python] 프로그래머스 제일 작은 수 제거하기 파이썬 코드 문제 설명 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 💡 나의 풀이 def solution(arr): answer = [] minVal = min(arr) arr.remove(minVal) if not arr: arr.insert(0,-1) return arr arr 배열에서 가장 작은 수를 찾는 함수 min()을 사용하여 minVal..
[Python] 프로그래머스 하샤드 수 파이썬 코드 문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한 조건 x는 1 이상, 10000 이하인 정수입니다. 💡 나의 풀이 def solution(x): arr = list(str(x)) sum_ = 0 for i in range(len(arr)): sum_ += int(arr[i]) if x % sum_ == 0: answer = True else: answer = False return answer 자연수 x를 string으로 치환하여 list 형식으로 arr에 담았다..
[Python] 프로그래머스 시저암호 파이썬 코드 문제 설명 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. 제한 조건 공백은 아무리 밀어도 공백입니다. s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다. s의 길이는 8000이하입니다. n은 1 이상, 25이하인 자연수입니다. 💡 나의 풀이 처음엔 비트연산자인 shift 방식으로 생각했었다. 시도했다가 아닌 것 같아서 아스키코드로 치환해서 풀어야겠다고 생각했다. 문자열을 아스키코드 값으로 변환해주는 ord(string)을 사용..
[Python] 프로그래머스 완주하지 못한 선수 Level 1. 파이썬 코드 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 💡 나의 풀이 처음엔 for문을 p,c 둘다 돌려서 p에서 c를 빼려고 했는데 파이썬다..
[Python] 프로그래머스 수박수박수박수? 파이썬 코드 문제 설명 길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다. 제한 조건 n은 길이 10,000이하인 자연수입니다. 💡 나의 풀이 def solution(n): return ('수박'*n) [:n] '수박' * n --> 입력받은 n만큼 '수박' 반복 solution(3)이면 '수박수박수박' 이므로 slicing 필요 따라서 입력받은 n만큼 출력해주면 된다. [:n] 💡 다른 방식 def solution(n): answer = '' for i in range(n): if i % 2 == 0: answer += '수' else: answer += '박' return ..
[Python] 프로그래머스 서울에서 김서방 찾기 파이썬 코드 문제 설명 String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제한 사항 seoul은 길이 1 이상, 1000 이하인 배열입니다. seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다. Kim은 반드시 seoul 안에 포함되어 있습니다. 💡 나의 풀이 def solution(seoul): answer = '' x = seoul.index('Kim') answer = '김서방은 '+str(x)+'에 있다' return answer index(value) 함수는 해당하는 문자열의 위치값을 반환해준다. list.in..

반응형