본문 바로가기

분류 전체보기125

[백준/파이썬] 2294 : 동전 2 https://www.acmicpc.net/problem/2294 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주 www.acmicpc.net 문제 요약 : n가지 동전으로 k원을 만든다. 사용한 동전의 최소의 개수를 출력하고 불가능할 경우 -1을 출력한다. 어쩌다보니 동전문제 도장깨기 중이다..ㅋㅋ 이렇게 된김에 계속 동전 시리즈를 풀어보겠음 시도 1 ) 앞서 동전문제를 많이 풀어서 그런지 금방 규칙이 눈에 보였다. 그냥 동전 1문제와 큰 틀은 같다. 동전 1 풀이는 아래와 같음 https://eunsun.. 2022. 10. 18.
[백준/파이썬] 2293 : 동전 1 https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 요약 : n개의 동전이 주어졌을 때, 그 동전들로 k원을 만들 수 있는 경우의 수를 출력하라 풀이 ) DP문제는 최적화 문제를 해결하는 알고리즘이다. 그렇기 때문에 전체 문제를 부분으로 나누어 생각하여야 한다. 부분문제를 해결하면서 얻은 결과 값이 메모이제이션을 하는지, 점화식을 세울 수 있는지를 신경쓰며 푼다. 테스트 케이스였던 1,2,5를 이용하여 10을 만드는 경우의 수를 구하여 보겠다... 2022. 10. 18.
[백준/파이썬] 11047 : 동전 0 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 문제 요약 : N개의 종류의 동전이 주어졌을때 K원을 만드는데 필요한 동전 개수의 최솟값 그리디 알고리즘은 당장 지금 좋은 것만 선택하는 알고리즘이다. 이 문제의 경우 그리디 알고리즘을 적용할 수 있었다. 그 이유는 큰 동전이 전부 작은 동전의 배수가 되기 때문이다. 시도 1 ) while문을 이용하여 k가 0이 되기전까지 돌린다. .. 2022. 10. 17.
[프로그래머스/파이썬] 베스트앨범 https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 요약 : 장르를 나타내는 genres, 노래별 재생횟수를 나타내는 plays가 주어질 때 베스트 앨범에 들어갈 노래의 고유번호를 순서대로 return하라. 베스트 앨범에 들어가는 노래는 장르당 두개씩이고, 가장 재생횟수가 많은 장르순, 가장 재생횟수가 많은 노래순, 고유번호가 낮은순으로 배열된다. 이번 문제를 풀면서 알아야하는 개념은 크게 세가지라고 생각된다. 먼저 해시 알고리즘, 그리고 그.. 2022. 10. 15.
[프로그래머스/파이썬] 네트워크 https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 요약 : 컴퓨터 개수, 연결정보가 담긴 computers 배열이 주어질 때 네트워크 개수를 return하라. 이 경우 네트워크는 2개이고 이 경우는 하나이다. 풀이 ) BFS로 풀었음! check는 정점을 지나갔는지 아닌지를 표시했다. 모든 컴퓨터를 돌 수 있도록 n만큼 반복하였다. 단, 한 네트워크에 여러 컴퓨터가 연결되어 있기 때문에 불필요한 반복을 없애기 위하여 check되지 않은 컴퓨.. 2022. 10. 14.