덧칠하기
https://school.programmers.co.kr/learn/courses/30/lessons/161989
벽의 길이 = n / 롤러의 길이 = m / 페인트를 칠하기로 정한 구역들의 번호가 담긴 정수 배열 = section
def solution(n, m, section):
answer = 0
section_map = {x: i for i, x in enumerate(section)}
i = 0
while i <= n:
if i in section_map:
i += m-1
answer += 1
i += 1
return answer
소수만들기
https://school.programmers.co.kr/learn/courses/30/lessons/12977
def solution(nums):
answer = 0
for a in range(len(nums)):
for b in range(a+1,len(nums)):
for c in range(b+1,len(nums)):
num_sum , num_cnt= 0, 0
i = 1
num_sum = nums[a]+nums[b]+nums[c]
while num_sum >= i:
if num_sum % i == 0:
num_cnt += 1
i += 1
if num_cnt == 2:
answer += 1
return answer
여러개의 for문과 while문을 쓰고 싶지 않고 combinations 내장함수도 안 쓰고 구하고 싶어서 머리를 굴려봤는데 떠오르지 않아 어쩔 수없이 써서 풀어버렸다 ..
다른 분들이 푼 방법을 보니 combinations를 많이 써서 푼거 같았고 combinations을 안 쓰고 푼 방법 중 내 코드에서 줄일 수 있는 부분이 있었던 코드는 아래의 코드였다
def solution(nums):
answer = 0
for i in range(len(nums)):
for j in range(i+1, len(nums)):
for k in range(j+1, len(nums)):
number = nums[i] + nums[j] + nums[k]
if len([m for m in range(2, number) if number % m == 0]) == 0:
answer += 1
return answer
'TIL' 카테고리의 다른 글
[Spring] @JsonInclude(JsonInclude.Include.NON_NULL) (2) | 2023.12.22 |
---|---|
Could not autowire. No beans of 오류 / 프로그래머스<기사단원의 무기> (0) | 2023.12.13 |
[JPA] 값 타입 컬렉션 (0) | 2023.12.06 |
JUnit Assert(단정) 메서드 (2) | 2023.12.04 |
테스트 관련 어노테이션, Given - When - Then 패턴 (0) | 2023.11.30 |
댓글