[백준] 소인수분해_11653_자바
개발/DS&Algorithms
/ 2022. 2. 15.
11653번 Java - 소인수분해 이번 문제의 분류는 에 해당합니다. 소인수분해는 중등 과정에서 한 번씩 배운 내용입니다. 그래서인지 기억이 가물가물 하네요.😂 소인수분해는 이름 그대로 어떤 자연수를 소인수로 분해한 것입니다. 나눗셈 과정을 보겠습니다. (나눠지는 수) ÷ (나누는 수) = (몫) + (나머지) 약수는 나눗셈에서 나머지가 0일 때 (나누는 수)를 말합니다. 즉, 나눠지는 수의 약수입니다. 약수는 여러 개가 있을 수 있습니다. 이때 나누는 수와 몫은 나눠지는 수의 인수에 해당합니다. 예를 들면 나눠지는 수가 30일 때, 인수는 1, 2, 3, 5, 6, 10, 15, 30입니다. 이제 소수를 알아보겠습니다. 소수는 1과 자기 자신 이외의 자연수로는 나눌 수 없는, 1보다 큰 자연수를 말합..
[백준] ACM 호텔_10250_자바
개발/DS&Algorithms
/ 2022. 2. 11.
10250번 Java - ACM 호텔 이번 문제의 분류는 에 해당합니다. 아래 문제를 보면 어렵게 느껴질 수 있겠지만, 타문제에 비해 비교적 간단한 문제입니다. 하지만 저는 문제를 풀면서 많은 시행착오를 겪게 되었습니다. 😂😂 그래서 이렇게 정리합니다. 현재 진행하는 코딩테스트 스터디 CoP장 형인님께서 아이디어 도움을 주셨습니다. 그리고 ST_LAB 티스토리를 통해 풀이 방법을 이해했습니다. 출처 : [https://st-lab.tistory.com/77] https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트..
[백준] 알파벳 찾기_10809_자바
개발/DS&Algorithms
/ 2022. 2. 5.
10809번 Java - 알파벳 찾기 이번 문제는 입니다. https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 1. 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. * 마치 영어를 번역한 듯한 난해한 문장의 문제입니다. 뒤에서 예제 입력과 출력을 보면 이해가 바로 되실 겁니다. 2. 예..
[알고리즘] 정렬 알고리즘 정리(2)
개발/DS&Algorithms
/ 2022. 2. 4.
03. 정렬 알고리즘(2) 저번에는 정렬 알고리즘에서 O(N^2)의 수행속도로를 갖는 방식 3가지(버블, 삽입, 선택)에 대해서 알아봤습니다. 이번에는 O(logN)의 수행속도를 갖는 정렬에 대해서 알아볼 것인데요. O(logN) 정렬들은 앞에서 알아본 정렬들과 다르게 '검색 범위가 점점 감소하는 방식'이라는 큰 특징을 갖습니다. 1) 퀵 정렬 퀵 정렬은 배열에서 한 수를 기준으로 작은 수와 큰 수를 재배치 하는 방법입니다. 여기서 기준을 피봇(PIVOT)이라고 합니다. 2) 병합(합병) 정렬 분할(Divide) : 하나의 리스트를 균등하게 두 개의 리스트로 분할합니다. 정복(Conquer) : 분할된 부분 배열을 정라합니다. 부분 배열의 크기가 충분히 작지 않으면 순환 호출을 이용하여 다시 분할 정복 ..
[백준] 최소,최대_10818_자바
개발/DS&Algorithms
/ 2022. 2. 1.
10818번 Java-최소, 최대 이번 문제의 분류는 입니다. https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 1. 문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 2. 예제 3. 풀이 이번 문제는 간단한 문제입니다. 따라서 저는 다양한 방법으로 풀어보며 수행 속도를 비교해보았습니다. - 방법 1 Scanner 활용, 시간 복잡도 O(n) 수행 방법 import java...
[백준] 평균은 넘겠지_4344_자바
개발/DS&Algorithms
/ 2022. 1. 31.
4344번 Java-평균은 넘겠지 이번 문제의 분류는 입니다. https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 1. 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. * 문제가 조금 웃기다ㅋㅋ😥 2. 예제 3. 풀이 이번에는 두 가지 방식으로 풀려고 합니다. 첫 번째 풀이는 Scanner를 활용하고, 두 번째는 BufferedReader를 활용할 것입니다. BufferedReader를 활용할 때 StringTokenizer를 활용하게 될 것입니다. 자세한..