Algorithm/Algorithm (문제풀이)

문제 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 해결 방법 (1) 키패드간 거리가 '직선'이 아니라 상하좌우로 제한됨 -> X,Y 좌표계 도입! (2) [1,4,7]-> L, [3,6,9] -> R 고정이고 [2,5,8,0] 만 거리 계산이 필요함. // 거리가 같다면 hand 값 따지기 (3) 입력값은 모두 '숫자'지만 초기 왼,오른손은 '*', '#' character -> 어차피 정수로 변..
1. 문제 2. 아이디어 0. 이 문제의 답은(전체 학생수 - 잃어버린 학생수)로 구하자. -> lost 배열의 원소를 제거하는 방식으로 풀어가자. 1. 도난당한애 == 여벌있는애 일 경우부터 삭제하고 시작하자. ∵ 어차피 여벌있으면서 도난당한애는 다른애한테 빌려주지 못한다. 2. 앞번호 먼저 검사 뒷번호 후검사를 하자. // Mistake 3. 주의사항 for(index in lostList.indices) { // 잃어버린 애, 가져온애가 같으면 양쪽 리스트에서 둘다 삭제 if (reserveList.remove(lostList[index])) lostList.removeAt(index) } for loop에서 index를 활용하여 '정순'으로 순환하면서 컬렉션의 원소를 제거하는 경우 원소가 제거된 ..
1. 문제 https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다. 노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 www.acmicpc.net 2. 설계도 3. Flowchart 이 순서도는 정답은 도출하나 시간복잡도에서 털렸다. 4. 핵심 전략 수식 세우기 A + B..
1. 필요한 개념 Dynamic Programming https://m-falcon.tistory.com/118 피보나치 수열 2 (Memoization, Dynamic Programming ver) 이전 포스팅! https://m-falcon.tistory.com/84 피보나치 수열 0. 문제 코드업 1855 피보나치 수열 https://codeup.kr/problem.php?id=1855 [기초-재귀함수] 재귀로 n번째 피보나치.. m-falcon.tistory.com 2. 문제 https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 3. 핵심..
1. 문제 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어진다. 이어서 그 수만큼 한 줄에 한 쌍씩 네트워크 상에서 직접 연결되어 있는 컴퓨터의 번호 쌍이 주어진다. www.acmicpc.net 2. 해결 IDEA Union-Find 알고리즘 (초기상태) Parent Index 1 2 3 4 5 6 7 8 9 Node Index 1 2 3 4 5 6 7 8 9 바이러스 근원 노드가 '1'이므로 1과 같은 Group으로 Union 되는 노드의 Parent Index가 '1'이 되..
0. 소인수분해 정의임의의 자연수 N을 마지막 나머지가 '1'이 나올 때 까지 '소수'로 나누어 곱으로 표현한 것. EX)120이란 수를 소인수분해 한다면? N이란 숫자를 몫 i로 나누어 떨어지는지 검사하고 나누어 떨어지면 떨어지는 동안 계속 나누기/ 나누어 떨어지지 않으면 i + 1 N의 나머지가 1이될 때까지 (그림에서는 5에서 멈춤) 1. 문제https://www.acmicpc.net/problem/1165311653번: 소인수분해첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.www.acmicpc.net2. 핵심 IDEAQ. i(몫)의 범위?저번 포스팅에서 소수를 검사하는 아이디어에서 '에라토스테네스의 Idea'에서 살펴 보았듯이임의의 자연수 N이 제곱근 이하에서 소수로 나누어..
M_Falcon
'Algorithm/Algorithm (문제풀이)' 카테고리의 글 목록 (8 Page)