728x90

 

 

- 오늘의 학습 키워드 : 이분탐색

- 링크 : https://leetcode.com/problems/arranging-coins/
- 코드 :

class Solution:
    def arrangeCoins(self, n: int) -> int:
        # n개의 동전이 제공되고
        # 결과물은 몇개의 행렬을 만들 수 있는지 확인해서 반환

        completeRow = 0
        for i in range(1, n+1): #12345
            if n >= i :
                n -= i
                completeRow += 1
            else :
                break
        return completeRow

 

- 회고록

 

이런식으로 n개의 동전이 주어지면

몇개의 행을 만들 수 있는지 확인해서 갯수를 반환하는 문제.

 

참고로,

----------> 이게 행이다.

1번째 행부터 차례로 행을 처리한다.(for)

만약 동전의 갯수가 i보다 크거나 같으면 행을 완성할수있음 =>1칸부터 차례로 내림식으로 쌓아가는 형태(계단)

그럼 i를 빼는거임, 그리고 줄수를 추가함!

근데 동전의 갯수가 적으면 더이상행을 만들 수 없으니까 반복종료함.

그리고 최종 행 수를 리턴하면 끝

 

728x90

+ Recent posts