본문 바로가기

알고리즘48

[프로그래머스] 자연수 뒤집어 배열로 만들기 1. 문제 programmers.co.kr/learn/courses/30/lessons/12932/ 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr 2. 내가 생각했던 풀이과정 1) 입력을 리스트화한다 2) 리스트를 뒤집는다 3) map함수를 통해 int 형 새로운 리스트를 만듭니다 3. 나의 풀이 def solution(n): arr = list(str(n)) arr.reverse() return list(map(int, arr)) .. 2020. 12. 17.
[프로그래머스]문자열 내 p와 y의 개수 1. 문제 programmers.co.kr/learn/courses/30/lessons/12916 코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 programmers.co.kr 2. 내가 생각했던 풀이과정 첫 번째 풀이 과정 1) 처음에는 문자열을 파싱하여, 각 문자를 p,y 가 들어있으면 각각 p,y 에 count를 늘린다 2) count 비교시 같으면 true를 반환 다를시 false를 반환 3) 문자열 입력 제한 두 번째 풀이 과정 1) 문제를 간단히 lower .. 2020. 12. 16.
[프로그래머스] 문자열 다루기 기본 1. 문제 programmers.co.kr/learn/courses/30/lessons/12918 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이 programmers.co.kr 2. 내가 생각했던 풀이과정 1) 처음에는 문자열을 파싱하여, 문자 하나하나 find함수를 통해 비교하려하였지만, isdigit()와 isalpha()의 존재를 알게된후 풀이 방식을 바꿨다. 2) 문자열 전체가 숫자인지, 문자열인지 isdigit()함수로 검사한다 3) 문자열 길이에 제한을 준다. 3. 나의 풀이 .. 2020. 12. 11.
[프로그래머스] 두 정수 사이의 합 1. 문제 programmers.co.kr/learn/courses/30/lessons/12912 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr 2. 내가 생각했던 풀이과정 1) 대소비교를 한다 2) 반복문을 통해 작은수부터 큰 수까지의 합을 구한다. 3. 다른 사람의 풀이 def adder(a, b): # 함수를 완성하세요 if a > b: a, b = b, a return sum(range(a,b+1)) print( adder(3, 5.. 2020. 12. 11.