목록Lv.0 (9)
핀아의 저장소 ( •̀ ω •́ )✧

📖 문제 💡 해설 import numpy as np from collections import Counter def solution(board): n = len(board) ori = np.pad(board, ((1, 1), (1, 1)), constant_values = -1) danger = np.pad(board, ((1, 1), (1, 1)), constant_values = -1) for i in range(1, n+1): for j in range(1, n+1): if ori[i][j] == 1: for x in range(i-1, i+2): for y in range(j-1, j+2): danger[x][y] = 1 danger_list = danger.reshape(1, -1).squeez..

📖 문제 ✏️ 내가 만든 코드 def solution(numbers): answer = -1e9 for i in range(len(numbers)-1): for j in range(i+1, len(numbers)): tmp = numbers[i] * numbers[j] if tmp > answer: answer = tmp return answer answer = 0으로 하면 테스트 케이스에서 걸린다. 아마 답 자체가 0보다 살짝 작은 값이 있어서 그런듯...? 💡 더 효율적인 답 def solution(numbers): numbers = sorted(numbers) return max(numbers[0] * numbers[1], numbers[-1]*numbers[-2]) sorted()를 통해 배열을 ..

📖 문제 ✏️ 내가 만든 코드 import math def solution(n): answer = 0 for i in range(4, n+1): for j in range(2, int(math.sqrt(i)) + 1): if i % j == 0: answer += 1 break return answer 첫번째 range에서 4부터 시작한 이유는 그 전 숫자들은 어차피 다 소수이기 때문 두번째 range에서 제곱근까지 구한 이유는 가운데 약수를 기준으로 대칭적인 형태이기 때문에, 제곱근까지만 (가운데 약수까지만) 확인하면 되기 때문 math 대신에 int(i ** 0.5)로 사용해도 괜찮다.

📖 문제 💡 풀이 def solution(numbers, k): return numbers[2 * (k - 1) % len(numbers)] 이번 문제는 삽질하다가... 끝났다. 수학 문제를 안 푼지 너무 오래됐나 ㅠㅠㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

📖 문제 ✏️ 내가 만든 코드 def solution(angle): if angle 0) * 1 return answer 90, 180으로 떨어지는 것은 2의 배수 angle % 90 > 0의 경우 True or False로 나오므로 계산 가능

📖 문제 ✏️ 내가 만든 코드 def solution(num_list): a = 0 # 짝수 b = 0 # 홀수 for num in num_list: if num % 2 == 0: a += 1 else: b += 1 answer = [a, b] return answer 💡 더 효율적인 답 def solution(num_list): answer = [0, 0] for num in num_list: answer[num%2] += 1 return answer 짝수는 2로 나누는 경우 무조건 0, 홀수는 1인데 이를 자리값으로 사용한 것. def solution(num_list): odd = sum(1 for num in num_list if num % 2) return [len(num_list) - odd, ..