프로그래머스/LV.1(48)
-
[프로그래머스][LV.1] 정수 제곱근 판별 | python3
문제 링크: 정수 제곱근 판별 문제 설명문제 설명임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.제한사항- n은 1이상, 50000000000000 이하인 양의 정수입니다. 문제 풀이처음엔 def solution(n): answer = -1 if type(n**(1/2)) == int: return (n+1)**2 return answer이렇게 타입을 비교해서 하려고 햇는데 안됐다.그래서 피티씨한테 약간의 도움을 받아서 다시 작성했다.재곱근이 int를 씌웠을때랑 같으면 제곱근은 정수이다. 내코드def s..
2025.01.16 -
[프로그래머스][LV.1] 자연수 뒤집어 배열로 만들기 | python3
문제 링크: 자연수 뒤집어 배열로 만들기 문제 설명문제 설명자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.제한사항- n은 10,000,000,000이하인 자연수입니다. 문제 풀이일의 자리부터 역으로 뒤집는 것이기 때문에 10으로 나눈 나머지와 몫을 활용했다. 나머지를 리스트에 넣고 몫은 다음에 계산할 수가 된다. n이 10보다 작아지면 while문을 빠져나온다. 재귀함수로 풀어보고 싶었는데 실패했다. 한 번 알아봐야 겠다. 내코드def solution(n): answer = [] while True: if n 더보기다른사람풀이def digit_reverse(n): return ..
2025.01.16 -
[프로그래머스][LV.1] 두 정수 사이의 합 | python3
문제 링크: 두 정수 사이의 합 문제 설명문제 설명두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.제한사항- a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.- a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.- a와 b의 대소관계는 정해져있지 않습니다. 문제 풀이처음에는 sum(n for n in range(a,b+1)) 이렇게 풀었는데 항상 a그래서 if문으로 조건을 나누어서 풀었다. 내코드def solution(a, b): if a 더보기다른사람풀이 def adder(a, b): if a >..
2025.01.16 -
[프로그래머스][LV.1] 나누어 떨어지는 숫자 배열 | python3
문제 링크: 나누어 떨어지는 숫자 배열 문제 설명문제 설명array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.제한사항- arr은 자연수를 담은 배열입니다.- 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.- divisor는 자연수입니다.- array는 길이 1 이상인 배열입니다. 문제 풀이리스트를 정렬하고 for문으로 앞에서부터 하나씩 비교하며 조건에 맞는 원소를 answer리스트에 넣는다. 내코드def solution(arr, divisor): answer = [] arr.sort(..
2025.01.16 -
[프로그래머스][LV.1] 문자열 내 p와 y의 개수 | python3
문제 링크: 문자열 내 p와 y의 개수 문제 설명문제 설명대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다.제한사항- 문자열 s의 길이 : 50 이하의 자연수- 문자열 s는 알파벳으로만 이루어져 있습니다 문제 풀이대문자와 소문자를 하나로 통일해서 갯수를 세면 더 시간이 덜 걸릴 것 같아서 소문자로 변환 후에 count() 함수를 사용했다. ..
2025.01.15 -
[프로그래머스][LV.1] 나머지가 1이 되는 수 찾기 | python3
문제 링크: 나머지가 1이 되는 수 찾기 문제 설명문제 설명자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.제한사항- 3 ≤ n ≤ 1,000,000 문제 풀이작은 수부터 1씩 증가시키며 나머지가 1이 되는 수를 찾는다.while문을 돌려서 가장 먼저 나머지가 1이 되는 값이 나타나면 break로 while문을 끝낸다. 내코드def solution(n): answer = 2 while True: if n%answer == 1: break answer+=1 return answer 더보기다..
2025.01.15