본문 바로가기
반응형

RANGE7

Python 배열 자르기 [코딩테스트 입문 - Day8] 문제 구현 slice를 이용해 num1부터 num2+1까지 자른 리스트를 리턴해준다. 코드 def solution(numbers, num1, num2): return numbers[num1:num2+1] 다른 풀이 def solution(numbers, num1, num2): return [numbers[i] for i in range(num1, num2+1)] range와 list comprehension을 이용해서 이렇게 할 수도 있다. 2023. 2. 15.
Python 순서쌍의 개수 [코딩테스트 입문 - Day8] 문제 구현 1부터 n까지 반복하며 나누어 떨어지는 수들을 체크하고 마지막에 리턴해준다. 코드 def solution(n): answer =0 for i in range(n): if n % (i+1) ==0: answer +=1 return answer 다른 풀이 조금 더 효율성을 따지고 싶다면 제곱근까지 조사하고 완전제곱수인지 판단해서 리턴해주면 된다. def solution(n): answer=0 for i in range(1, int(n**0.5)+1): if n%i==0: answer+=1 return answer*2 if n**0.5!=int(n**0.5) else answer*2-1 코드는 길어지지만 시간은 많이 줄어든다. 2023. 2. 15.
Python 짝수는 싫어요 [코딩테스트 입문 - Day3] 문제 구현 list comprehension과 range를 이용해 한 step씩 건너뛰도록 구현하면 된다. 코드 def solution(n): return [i for i in range(1, n+1, 2)] range (시작, 끝, 스텝) 이렇게 사용된다. 위 코드는 1이상 n+1 미만 범위에서 2씩 건너뛰도록 한 것이다. 즉 [1,1+2,1+2+2,..... ] 이렇게 n까지 증가하게 된다. 다른 풀이 def solution(n): return [x for x in range(n + 1) if x % 2] range의 스텝값을 빼고 % 2의 나머지가 있을 때(==홀수일 때)를 추출해 줘도 된다. 2023. 1. 16.
[프로그래머스] [1차] 비밀지도 Python Code 프로그래머스 [1차] 비밀지도를 Python으로 풀어보겠다. 문제 문제가 약간 복잡하기 때문에 입출력 예제도 첨부했다. 비밀지도 배열 arr1, arr2가 주어지고 이를 이진법으로 해독하여 둘 중 하나라도 1인 부분에 벽('#')을 표시하고 아닌 부분에 공백(' ')을 표시하여 지도를 만드는 문제이다. 구현 구현은 쉽다. 먼저 진법 변환을 한 후 n으로 자릿수를 맞춰준다. 그 후 둘 중 하나라도 1인 곳에 #, 둘 다 0인 곳에 공백을 넣어서 answer에 추가한다. 코드 def solution(n, arr1, arr2): answer = [] for i in range(n): num1, num2 = arr1[i], arr2[i] temp1="" temp2="" while num1>0: num1, mod.. 2022. 8. 27.
반응형