링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWBJAVpqrzQDFAWr SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 분류 동적 계획법(DP) 개인적 난이도 매우 쉬움 쉬움 보통 어려움 매우 어려움 핵심 알고리즘 동적 계획법을 이용하면 되는 너무나도 유명한 문제이다. 더불어, 백준 12865번과 동일한 문제이다. https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,00..
링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWBOHEx66kIDFAWr SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 분류 동적 계획법(DP) 개인적 난이도 매우 쉬움 쉬움 보통 어려움 매우 어려움 핵심 알고리즘 동적 계획법의 대표적인 문제이다. 문제가 낯이 익어서 찾아보니 백준 9251번과 완전히 동일한 내용임을 확인하였다. https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주..
링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15Khn6AN0CFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 분류 완전 탐색 개인적 난이도 매우 쉬움 쉬움 보통 어려움 매우 어려움 핵심 알고리즘 완전 탐색을 이용해 바꿀 수 있는 모든 경우의수를 고려한다. Combination(6, 2) ^ 10의 값이 5.77 E+11 로 매우 크기 때문에 cache를 사용하였다. 시행착오 완전탐색보다 더 효율적인 알고리즘이 있지 않을까 라는 생각에 많은 고민을 했지만 최대 자릿수는 6자리, 최대 교환 횟수는 10회..
링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWNcJ2sapZMDFAV8 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 분류 그리디 개인적 난이도 매우 쉬움 쉬움 보통 어려움 매우 어려움 핵심 알고리즘 방 번호를 낮은순으로 정렬하고 그리디 알고리즘을 활용해 한 번에 이동할 수 있는 학생들을 이동시킨다. 그 뒤 남은 학생들을 대상으로 반복한다. room 2n-1번과 room 2n번은 사실상 동일한 이동선상에 있기 때문에 room id를 2로 나눈 값을 이용해 계산한다. 시행착오 문제에 설명이 다소 모호하여 처음 ..
링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PsIl6AXIDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 분류 그리디 개인적 난이도 매우 쉬움 쉬움 보통 어려움 매우 어려움 핵심 알고리즘 그리디 알고리즘을 활용해 가장 금액이 큰 단위부터 거스름돈의 수를 계산한다. 시행착오 없음 코드 #include int main(int c, char** v) { int tc, T; int div[] = {50000, 10000, 5000, 1000, 500, 100, 50, 10}; scanf("%d", &T)..
링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14zIwqAHwCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 분류 Linked List 개인적 난이도 매우 쉬움 보통 보통 어려움 매우 려움 핵심 알고리즘 배열 중간중간에 삽입이 빈번하게 일어나기 때문에 Linked List를 사용하여야 한다. 암호문 맨 뒤에 삽입해야 하는 경우도 있기 때문에 Linked List의 tail을 저장해둔다. 그 외에는 그냥 지시문에서 시키는대로 구현하면 된다. 시행착오 없음 코드 #include using namespac..
링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWBnFuhqxE8DFAWr SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 분류 캐싱 비트연산 재귀 개인적 난이도 매우 쉬움 쉬움 보통 어려움 매우 어려움 핵심 알고리즘 다음날 동아리 출근여부를 1, 0으로 표현한다고 했을 때 인원이 4명으로 제한되어있으므로 동아리 출근여부는 0000 ~ 1111 로 표현 가능하다. 동아리 열쇠 소지자도 마찬가지로 이진수로 표현하면 비트 연산을 통해 답을 구할 수 있다. 시행착오 없음 코드 #include using namespace..
링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AXRSXf_a9qsDFAXS SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 분류 비트연산 개인적 난이도 매우 쉬움 쉬움 보통 어려움 매우 어려움 핵심 알고리즘 비트연산 이용해 마지막 N개의 비트가 1인지 검사 시행착오 없음 코드 #include int main(int c, char** v){ int tc, T; scanf("%d",&T); for(tc=1;tc