2024/06/11 2

알고리즘 코드카타. x만큼 간격이 있는 n개의 숫자(2024-06-11)

요약 : x와 n을 입력받아 x부터 시작하여 x씩 증가하는 n개의 리스트를 만들어 반환하라 문제의 내용 자체는 간단하다. x부터 시작하여 x씩 증가하는 n개의 수열을 만드는것이다. 일단 당장 생각나는대로 코드를 작성해본다. 얼핏보면 x부터 시작하여 x만큼 증가하는 n크기의 리스트를 반환하는 조건을 만족하여 맞는것 같지만 틀렸다.이유) 제한조건을 살펴보자x가 -10,000,000이상, 10,000,000이하 라고 한다. 그렇다면 만약 x가 10,000,000이고 n이 1000이라면? 그렇다 숫자가 엄청나게 커진다. 그리고 잘 보면 answer 배열의 자료형은 long인것을 알 수 있다. 그리고 연산을 x를 기준으로 하는데, x의 자료형은 int형이다. int형의 범위는 -2,147,483,648 ~ 2,1..

TIL(사전캠프) 2024.06.11

알고리즘 코드카타. 약수의 합(2024-06-11)

요약 : 정수 n을 입력받고 n의 약수의 합을 구하기 이 문제를 보자마자 이전에 풀이한 '나머지가 1이되는 수 찾기'가 생각났다. 거기서 얻은 지식을 활용해 풀 수 있을것이다. 풀이과정) 어떤 정수 n의 약수는 대칭적 특성을 가지고있다는것을 배웠다. 36을 기준으로 1,2,3,4,6,9,12,18,36이 약수이며 36의 제곱근인 6을 중심으로 대칭적이다. 1 X 36 2 X 18 3 X 12 4 X 9 6 X 6 이 공식을 다음과 같이 변형하면 문제의 답이 될것이다. 1 + 36 2 + 18 3 + 12 4 + 9 그리고 중심인 제곱근은 하나이므로 6을 더해준다. 그럼 다음과 같은 수식이 완성된다 1 + 36 + 2 + 18 + 3 + 12 + 4 + 9 + 6 = 91 주의! : 6 + 6을 하는 실수..

TIL(사전캠프) 2024.06.11