본문 바로가기

알고리즘112

[SWEA / 파리 퇴치 / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 2차원 배열 값 정하고 M만큼 돌리면 되겠다라는 생각은 바로 들었는데 수식을 어떻게 짜야할지 생각하는데 시간이 걸렸다. 원하는 공간만큼 파리채를 찍기 위해선 시작 지점(i, j)과 파리채의 크기(M)만큼 움직일 지점(i2, j2)가 필요하다. 이걸 4중 for문으로 작성하고 가로 세로를 M 사이클만큼 돌면 그 때의 합을 이전 합과 비교해서 가장 큰 값을 출력해준다. import java... 2023. 5. 15.
[SWEA / Flattern / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV139KOaABgCFAYh SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 최고점의 높이를 1감소시켜서 최저점의 높이를 1증가시켜줘야 한다. 그럼 최고점과 최저점의 높이를 알아야하는데 정렬로 해결했다. dump의 숫자만큼 반복문을 돌면서 List의 첫 인덱스와 마지막 인덱스 수를 변경하고 이후 다시 List를 정렬한다. 반복문을 나오면 최고점의 최저점의 차이를 출력 ++ 처음에 Input 값이 너무 긴 탓에 크기를 지정못해서 배열은 안되지 않을까란 생각에 Lis.. 2023. 5. 14.
[백준 14627 / 파닭 파닭 / JAVA / 이분 탐색] https://www.acmicpc.net/problem/14627 14627번: 파닭파닭 첫째 줄에 승균이가 시장에서 사 온 파의 개수 S(1 ≤ S ≤ 1,000,000), 그리고 주문받은 파닭의 수 C(1 ≤ C ≤ 1,000,000)가 입력된다. 파의 개수는 항상 파닭의 수를 넘지 않는다. (S ≤ C) 그 후, S 줄에 www.acmicpc.net 문제 접근 파 길이 배열로 만들어서 입력 저장된 파 길이들을 현재 파 길이(mid)로 나눠서 치킨 몇 마리(count) 만들 수 있는지 검사 count가 만들어야 하는 치킨 수(C)보다 크거나 같으면 더 긴 파 길이를 탐색하기 위해 left를 당기고 그 때의 파 길이(mid)를 저장 치킨 수 보다 작다면 파 길이를 줄여서 원하는 치킨 수를 충족하기 위.. 2023. 5. 12.
[SWEA / View / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AV134DPqAA8CFAYh&categoryId=AV134DPqAA8CFAYh&categoryType=CODE&problemTitle=&orderBy=RECOMMEND_COUNT&selectCodeLang=ALL&select-1=3&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 조망권 확보를 하려면 양 옆 2공간이 비어야한다. 그러려면 빌딩의 높이가 양 옆 2칸에 있는 빌딩들의 높이보다 높아야.. 2023. 5. 11.
[백준 2776 / 암기왕 / JAVA / 이분 탐색] https://www.acmicpc.net/problem/2776 2776번: 암기왕 연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며, www.acmicpc.net 문제 접근 출력 시간 때문에 StringBuilder 활용 List에 노트1의 숫자들을 저장 후 정렬 이후 M 크기의 노트2 숫자들을 검사하는 반복문 실행 입력한 값보다 노트1 인덱스의 숫자가 크면 더 작은 값을 탐색하기 위해 right 감소 숫자가 작으면 더 큰 값을 탐색하기 위해 left 증가 같다면 1을 StringBuilder에 저장, 다르다면 0을 저장하고 반복문 종료 후 저장한 StringB.. 2023. 5. 11.
[SWEA / 구구단 걷기 / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AYaf9W8afyMDFAQ9 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 구하고자하는 수의 제곱근을 기준으로 약수는 대칭성을 가지고 있다 16의 약수는 1, 2, 4, 8 ,16이며 제곱근은 4이다. 4를 기준으로 양 옆 한 칸씩 곱해보면 16이 되는 걸 알 수 있다. → 2 * 8, 1 * 16 그래서 배열을 제곱근까지 돌려서 약수를 찾고 N / 약수를 하면 대칭되는 약수도 같이 찾을 수 있다. 처음엔 약수를 구한 후 약수의 배열을 만들어서 제곱근 양 옆에 .. 2023. 5. 11.