[Programmers] 120899번 - 가장 큰 수 찾기 [Java][C++]
문제 링크 1. 아이디어 정수 배열 array에서 가장 큰 수와 그 수의 인덱스를 찾는 문제로 배열을 순회하며 최댓값이 등장할 때마다 그 값과 인덱스를 기억했다가 반환하는 방식으로 해결했다. 2. 복잡도 시간복잡도 공간복잡도 $O(N)$ $O(1)$ ...
문제 링크 1. 아이디어 정수 배열 array에서 가장 큰 수와 그 수의 인덱스를 찾는 문제로 배열을 순회하며 최댓값이 등장할 때마다 그 값과 인덱스를 기억했다가 반환하는 방식으로 해결했다. 2. 복잡도 시간복잡도 공간복잡도 $O(N)$ $O(1)$ ...
문제 링크 1. 아이디어 알파벳으로 이루어진 문자열 myString의 모든 알파벳을 대문자로 변환하는 문제로 내장 함수를 활용하면 간단하게 해결할 수 있다. 2. 복잡도 시간복잡도 공간복잡도 $O(N)$ $O(1)$ N = my...
문제 링크 1. 아이디어 알파벳으로 이루어진 문자열 myString의 모든 알파벳을 소문자로 변환하는 문제로 내장 함수를 활용하면 간단하게 해결할 수 있다. 2. 복잡도 시간복잡도 공간복잡도 $O(N)$ $O(1)$ N = my...
문제 링크 1. 아이디어 n명이 최소 한 조각 이상의 피자를 먹어야하며 피자 한판은 slice 조각으로 나뉜다. 피자 한판당 slice명만큼 피자 조각을 할당할 수 있으므로 n을 slice로 올림 나눗셈한만큼 피자가 필요하다. 2. 복잡도 시간복잡도 공간복잡도 ...
문제 링크 1. 아이디어 피자를 여섯 조각으로 잘라줄 경우 n명이 동일한 조각 수의 피자를 먹기 위해 필요한 피자의 최솟값을 구해야 한다. n이 100이하의 자연수이므로 피자의 수를 cnt라고 할 때 cnt를 1부터 증가시키며 $6 \times cnt \bmod n = 0$ 인 cnt가 나올 때까지 반복하면 된다. $6 \times cnt$ ...
문제 링크 1. 아이디어 피자를 나눠먹을 사람의 수 n에 대해 모든 사람이 피자를 한 조각 이상 먹으려면 n을 7로 나눈 몫만큼 피자가 필요하고 나머지가 존재하면 이들을 위해서도 피자 한판이 필요하다. 따라서 n을 7로 올림 나눗셈한만큼 피자가 필요하므로 $\dfrac{n + 6}{7}$ 만큼의 피자가 필요하다. 2. 복잡도 ...
문제 링크 1. 아이디어 정수 n 이하의 홀수가 오름차순으로 담긴 배열을 return하는 문제로 1 부터 n까지 반복 변수를 2칸씩 건너뛰며 배열에 담는 방식으로 해결했다. 2. 복잡도 시간복잡도 공간복잡도 $O(N)$ $O(1)$ ...
문제 링크 1. 아이디어 길이가 홀수인 정수 배열 array의 중앙값을 return하는 문제로 배열을 정렬한 후 중간 인덱스에 중앙값이 존재함을 활용했다. 2. 복잡도 시간복잡도 공간복잡도 $O(N \log N)$ $O(1)$ ...
문제 링크 1. 아이디어 num1를 num2로 나눈 나머지를 return하는 문제로 모듈러 연산자를 활용하면 된다. 2. 복잡도 시간복잡도 공간복잡도 $O(1)$ $O(1)$ 3. 코드 풀이 [Java][C++] class S...
문제 링크 1. 아이디어 알파벳 모음 A, E, I, O, U만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있는 사전에서 word가 몇 번째 단어인지 return하는 문제다. 모음이 5가지이고 단어의 길이도 최대 5라서 모든 가능한 단어를 미리 구해 배열에 담은 후 사전 순으로 정렬하고 몇 번째에 위치하는지 찾는 방식을 활...