팰린드롬: 앞에서 읽을때나 뒤에서 읽을 때나 같은 문자열
type: Array오른쪽으로 한칸씩 이동하는 배열
10진수 -> 2진수로 변경하고 0의 연속된 길이가 제일 큰 값을 구한다.
Array주어진 int array에서 짝이 없는 value를 찾는다.
시간 복잡도현재위치 X같거나 커야할 위치 Y한번에 갈 수 있는 거리 DX에 있는 개구리가 Y까지 D의 거리를 몇번 가야 하는지 계산하는 문제이다.반복문으로 풀게 되면 시간초과가 된다.Y-X를 D로 나눴을 때 나머지가 0이면 그 몫이 정답이고, 나머지가 있으면 +1이 정
시간복잡도주어진 배열에서 N+1의 int array중 하나의 요소가 누락되어 있는데 그걸 찾는다.배열을 sort해서 순서대로 정렬한 다음에 반복문으로 Ai와 i+1이 같은지 확인한다.다르다면 i+1이 정답이다.
시간복잡도int array에서 현재key값 N과 N을 제외한 나머지 키값의 합의 차가 가장 작은 것을 구한다.전체 원소 합을 먼저 구하고 left와 right의 값을 구한다. 구한 값의 절대값을 새로운 ArrayList에 넣어준다.Math min 메소드를 이용하여 최소
counting elements배열 A가 주어지고 배열 원소의 가장 큰 값인 X가 주어진다.개구리는 X 이하의 숫자가 모두 나올 때에만 강을 건널 수 있다.숫자가 모두 나오는 시점의 index값을 return한다.모두 나오지 않으면 -1을 return한다.Hashset
Counting Elements중복되지 않는 배열 A가 순열인지 아닌지 체크한다.맞으면 1, 아니면 0을 리턴한다.배열을 sort해서 현재값과 현재값 +1이 1차이인지 확인한다.0 인덱스가 1이 아니면 순열이 아니기 때문에 0을 리턴한다.처음부터 마지막 1까지 비교한다
https://app.codility.com/programmers/lessons/4-counting_elements/max_counters/처음에 A 인덱스 값이 결과 배열 인덱스 값보다 클 때 전체 값을 ++ 해줬다.근데 테스트에서 오류 케이스가 발생했다.두
int형으로 받은 숫자를 뒤집는 내용은 자주 나와서 정리해본다.숫자를 뒤집으려면 숫자를 10으로 나눈 나머지를 계속 더해준다.더할때 기존 숫자에 곱하기 10을 해줘야 자릿수를 하나씩 넘길 수 있다.
소수를 판별하는 내용도 자주 나오므로 여기에 정리하면서 머릿속에 새겨두도록 하겠다.소수란 1과 자기 자신 외에 나누어지는 것이 없는 숫자이므로 2부터 반복문을 시작해서 자기 자신 전까지 나누어서 나머지가 0인 것을 찾아주면 된다.
문자열 n과 삭제할 문자열 m이 주어질 때, n에서 m을 지운 n을 출력하는 알고리즘을 작성하라.가장 먼저 생각나는 방법은 n 문자열을 전부 순회하면서 m이랑 일치하는지 확인하고 일치하면 그냥 두고 일치하지 않으면 출력할 배열에 추가하는 방법이다. 하지만 이 방법은 O
리스트에 순차적으로 접근할 때 두개의 포인터를 사용하여 접근하며 처리하는 방식.정렬되어 있는 두 리스트에서도 사용됨.
슬라이딩 윈도우(Sliding Window) 알고리즘은 배열이나 리스트의 요소의 일정 범위의 값을 비교할때 사용하면 유용한 알고리즘이다.현수의 아빠는 제과점을 운영합니다. 현수 아빠는 현수에게 N일 동안의 매출기록을 주고 연속된 K일 동안의 최대 매출액이 얼마인지 구하
N개의 수로 이루어진 수열이 주어집니다.이 수열에서 연속부분수열의 합이 특정숫자 M이 되는 경우가 몇 번 있는지 구하는 프로그램을 작성하세요.만약 N=8, M=6이고 수열이 다음과 같다면1 2 1 3 1 1 1 2합이 6이 되는 연속부분수열은 {2, 1, 3}, {1,
N입력으로 양의 정수 N이 입력되면 2개 이상의 연속된 자연수의 합으로 정수 N을 표현하는 방법의 가짓수를 출력하는 프로그램을 작성하세요.만약 N=15이면7+8=154+5+6=151+2+3+4+5=15연속된 자연수의 합이 n이 되려면 자연수의 가장 큰 값 m은 최대 n
두 수의 최대공약수를 구하는 알고리즘이다.간단게 말하면 두 수의 MOD(나머지) 연산을 해서 0이 나오는 순간가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1