πŸ”₯[99클럽 μ½”ν…Œ μŠ€ν„°λ””] 2일차 TIL - x만큼 간격이 μžˆλŠ” n개의 숫자

HOONSSACΒ·2024λ…„ 7μ›” 23일
1

99Club Coding Test Study

λͺ©λ‘ 보기
2/41
post-thumbnail

⏳문제

문제 μ„€λͺ…

ν•¨μˆ˜ solution은 μ •μˆ˜ x와 μžμ—°μˆ˜n을 μž…λ ₯ λ°›μ•„, xλΆ€ν„° μ‹œμž‘ν•΄ xμ”© μ¦κ°€ν•˜λŠ” 숫자λ₯Ό n개 μ§€λ‹ˆλŠ” 리슀트λ₯Ό 리턴해야 ν•©λ‹ˆλ‹€. λ‹€μŒ μ œν•œ 쑰건을 보고, 쑰건을 λ§Œμ‘±ν•˜λŠ” ν•¨μˆ˜, solution을 μ™„μ„±ν•΄μ£Όμ„Έμš”.

μ œν•œ 쑰건

  • xλŠ” -10000000 이상, 10000000 μ΄ν•˜μΈ μ •μˆ˜μž…λ‹ˆλ‹€.
  • n은 1000 μ΄ν•˜μΈ μžμ—°μˆ˜μž…λ‹ˆλ‹€.

μž…μΆœλ ₯ 예

xnanswer
25[2,4,6,8,10]
43[4,8,12]
-42[-4,-8]

βœοΈλ‚˜μ˜ 풀이

였늘의 λ¬Έμ œλŠ” μž…λ ₯κ°’ x만큼 μ»€μ§€λŠ” n개의 배수λ₯Ό λ°°μ—΄λ‘œ λ¦¬ν„΄ν•˜λŠ” λ¬Έμ œμž…λ‹ˆλ‹€.
μš°μ„ , μ΅œμ’…μ μœΌλ‘œ λ°˜ν™˜λ˜λŠ” answer배열을 n의 크기 만큼 ν• λ‹Ήν•΄ μ£Όμ—ˆμŠ΅λ‹ˆλ‹€.

long[] answer = new long[n];

그리고 answer에 μ €μž₯λ˜λŠ” κ°’μ˜ λ³€μˆ˜λ‘œ tempλ₯Ό ν•˜λ‚˜ λ§Œλ“€μ–΄ μ£Όμ—ˆμŠ΅λ‹ˆλ‹€. 이 tempλŠ” x둜 μ‹œμž‘ν•΄ λ°˜λ³΅λ¬Έμ„ λŒλ©΄μ„œ x만큼 μ¦κ°€ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€.

long temp = (long)x;

λ§ˆμ§€λ§‰μœΌλ‘œ, n번 만큼 λ°˜λ³΅λ¬Έμ„ λŒλ¦¬λ©΄μ„œ answer배열에 tempλ₯Ό μ €μž₯ν•΄μ£Όκ³ , tempλ₯Ό x만큼 μ¦κ°€μ‹œν‚€λŠ” 것을 λ°˜λ³΅ν•΄ 쀌으둜써 μ΅œμ’…μ μΈ κΈ°λŒ€κ°’μ„ λ§Œλ“€ 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

for (int i = 0; i < n; i++) {
    answer[i] = temp;
    temp += x;
}
return answer;

πŸ–₯οΈλ‚˜μ˜ μ½”λ“œ

class Solution {
    public long[] solution(int x, int n) {
        long[] answer = new long[n];
        long temp = (long)x;
        for (int i = 0; i < n; i++) {
            answer[i] = temp;
            temp += x;
        }
        return answer;
    }
}

πŸ˜²λ‹€λ₯Έ 방법

import java.util.*;
class Solution {
    public static long[] solution(int x, int n) {
        long[] answer = new long[n];
        answer[0] = x;

        for (int i = 1; i < n; i++) {
            answer[i] = answer[i - 1] + x;
        }

        return answer;

    }
}

λ‹€λ₯Έ λ°©λ²•μœΌλ‘œλŠ”, answer의 첫 번째 값에 xλ₯Ό μ €μž₯μ‹œμΌœ 놓고, λ°˜λ³΅λ¬Έμ„ λŒλ©΄μ„œ 이전 μΈλ±μŠ€μ— μ €μž₯λ˜μ–΄ μžˆλŠ” 값에 xλ₯Ό λ”ν•΄κ°€λŠ” 방식을 μ‚¬μš©ν•˜λ©΄ μ•½κ°„ 더 효율적일 수 μžˆμŠ΅λ‹ˆλ‹€!


πŸ”—λ¬Έμ œ 링크
πŸ’»Repository

profile
ν›ˆμ‹Ήμ˜ κ°œλ°œμ—¬ν–‰

0개의 λŒ“κΈ€