일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 시간 복잡도
- 자료구조
- 해시구현
- 원판 돌리기
- ㅣ풀이
- 백준 5397
- 백준 17779
- 백준 2447
- c#
- 백준 1158
- 1764
- 백준 17822
- AVL 시간 복잡도
- dfs
- 풀이
- qorwns
- 해시 구현
- 백준
- 5397
- 스택의 특징
- 구현
- Stack 이란
- 조세퍼스 순열
- 게리멘더링2
- C/C++ 구현
- 백준 1406
- 버킷 정렬
- heap
- 별 찍기 10
- 백준 17471
- Today
- Total
목록전체 글 (286)
홍시홍의 프로그래밍
보호되어 있는 글입니다.
보호되어 있는 글입니다.
요구사항 주어진 수식에 괄호를 사용해서 최소 값을 만들어라 참고 - 문자열을 리스트로 -> split - 리스트를 문자열로 -> join 풀이 1. 어떠한 연산자를 사용할지는 미리 정해져 있으니, 최댓 값을 만들어 빼는 식으로 진행 2. 문자열 파싱 2.1 '-' 기준으로 문자열 나누기 2.2 '+' 연산 실시 3. '-' 연산 실시 n=input() #문자열을 리스트로 -> split m=n.split('-') temp=[] for i in m: temp.append(sum(map(int,i.split('+')))) ans=temp[0] for i in range(1,len(temp)): ans -= temp[i] print(ans)
요구사항 동전을 최소로 사용해서 원하는 금액을 만들어라 참고 1. 구현 문제이다 2. 최소 갯 수로 원하는 금액 만들기 -> 큰 액수의 금액을 최대한 사용해야지 최소의 갯 수로 금액을 만들 수 있다 -> 큰 원소부터 탐색하여 타겟 금액을 만들어 보자 풀이 n,m = map(int, input().split()) arr=[int(input()) for i in range(n)] ans=0 for i in range(n-1,-1,-1): #타겟 넘버가 현재보다 크면 현재껄로 빼준다 #print(arr[i]) if( m >= arr[i]): #몫을 구한다 div_num = m//arr[i] #나머지 mar_num = m%arr[i] #몫을 정답에 더한다 ans+=div_num #m업데이트 한다 m -= (di..