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]리스트에 포함되어 있나' 라는 코드..
Programmers / 서울에서 김서방 찾기 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 서울에서 김서방 찾기 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12919 나의 풀이 def solution(seoul): return "김서방은 {}에 있다" .format(seoul.index('Kim')) ※ 알아야 할 것 - 인덱스 함수를 이용하면 바로 구할 수 있는 아주 쉬운 문제이다.
Programmers / 약수의 합 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 약수의 합 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12928 나의 풀이 def solution(n): s = [] for i in range(1,n+1): if n % i == 0: s.append(i) return sum(s) 모범답안 def sumDivisor(num): # num / 2 의 수들만 검사하면 성능 약 2배 향상잼 return num + sum([i for i in range(1, (num // 2) + 1) if num % i == 0]) ※ 알아야 할 것 - num / 2의 수만 검사한다니... 그러고보니 맞는 말이다. 반을 넘어간 값은 검사하지 않아도 된다.
Programmers / 자릿수 더하기 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 자릿수 더하기 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12931 나의 풀이 def solution(n): #int로 입력된 N값을 문자열로 변환후 리스트로 저장 n = str(n) arr = list(n) for i in range(len(arr)): arr[i] = int(arr[i]) return sum(arr) 내 코드가 기본기를 다루는데는 충실하게 짠 코드라고 생각한다(??) 모범답안 def sum_digit(number): '''number의 각 자릿수를 더해서 return하세요''' return sum(map(int,str(number))) ※ 알아야 할 것 - 자릿 수가 많은..
Programmers / 짝수와 홀수 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 짝수와 홀수 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12937 나의 풀이 def solution(num): answer = '' if num % 2 == 0: answer = 'Even' else: answer = 'Odd' return answer ※ 알아야 할 것 - N % 2 == 0는 짝수, 홀수를 구할 때 많이 사용하는 식이다.
Programmers / 두 개 뽑아서 더하기 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 두 개 뽑아서 더하기 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/68644 나의 풀이 def solution(numbers): answer = [] for i in range(len(numbers)): for j in range(i+1,len(numbers)): answer.append(numbers[i]+numbers[j]) return sorted(list(set(answer))) 나의 풀이가 다른 사람들도 많이 제출한 풀이라서 처음엔 놀랐다... 중복을 제거하기 위해서 set함수를 사용하였고 리스트를 sorted함수로 정리해주었다. for문에서 오류가 많이 났었는데, 범위 정할 때 i ..
Programmers / 모의고사 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 모의고사 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/42840 풀이 def solution(answers): person1 = [1,2,3,4,5] person2 = [2,1,2,3,2,4,2,5] person3 = [3,3,1,1,2,2,4,4,5,5] result = [] score = [0,0,0] for idx, answer in enumerate(answers): if answer == person1[idx%len(person1)]: score[0] +=1 if answer == person2[idx%len(person2)]: score[1] += 1 if answer == pers..
Programmers / 핸드폰 번호 가리기 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 핸드폰 번호 가리기 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12948 나의 풀이 def solution(phone_number): return ('*' * len(phone_number[:-4]) + phone_number[-4:])
Programmers / 직사각형 별찍기 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 직사각형 별찍기 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12969 나의 풀이 a, b = map(int, input().strip().split(' ')) m = [] for i in range(b): m.append([]) for j in range(a): m[i].append("*") for i in range(b): for j in range(a): print(m[i][j],end="") print() 코드업에서 90번대 문제에서 공부했던 바둑판배열(?)에서 사용한 코드를 그대로 사용하였다. 모범답안 a, b = map(int, input().strip().split(' ')) an..
Programmers / x만큼 간격이 있는 n개의 숫자 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: x만큼 간격이 있는 n개의 숫자 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12954 나의 풀이 def solution(x, n): s = [] for i in range(1,n+1): s.append(x*i) return s 모범답안 def number_generator(x, n): # 함수를 완성하세요 return [i * x + x for i in range(n)] ※ 알아야 할 것 - 한줄로 코드 짜는데 익숙하지 않아서 연습해야할거 같다.
Programmers / 체육복 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 체육복 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/42862 풀이 def solution(n, lost, reserve): new_lost = list(set(lost) - set(reserve)) new_reserve = list(set(reserve) - set(lost)) lost, reserve = new_lost, new_reserve for i in lost: if i-1 in reserve: reserve.remove(i-1) elif i+1 in reserve: reserve.remove(i+1) else: n -= 1 return n set함수를 이용하여 중복을 제거하여주었다..
Programmers / 평균구하기 / Python
·
coding test - python/Programmers
문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arrreturn [1,2,3,4] 2.5 [5,5] 5 -> sum함수와 len함수를 이용해 list내의 평균값을 return하도록 만들었다. -> try, except구문으로 list내의 요소가 없을 때의 예외처리를 해주었다. def solution(arr): try: return sum(arr) / len(arr) except ZeroDivisionError: return 0 모범 답안 def average(list): return (sum(list) / ..