[Goorm] νμλ λ¨ (Java)
by λλΆλ
μ΄ λ¬Έμ λ 2μ μ κ³±μμ μ©λμ κ°μ§ λ¨ μ€μμ νμμ΄ λμ΄ 2μ μ κ³±μμ μ©λμ κ°μ§μ§ μλ λ¨μ μμ λ²νΈλ₯Ό μΆλ ₯νλ λ¬Έμ μ λλ€. λΉνΈ λ§μ€ν¬λ₯Ό μ΄μ©νλ©΄ λκ² κ°λ¨ν λ¬Έμ μΈλ° ν μ€ λͺ°λΌμ μ΄μ¬ν μ°Ύμλ΄€λ€μ.. ππ
2μ nμ κ³± μλ₯Ό 2μ§μλ‘ λνλ΄λ©΄
2μ 0 μ κ³± : 1 → 1
2μ 1 μ κ³± : 2 → 10
2μ 2 μ κ³± : 4 → 100
2μ 3 μ κ³± : 8 → 1000
κ³Ό κ°μ΄ 1λ‘ μμνμ¬ μ€λ₯Έμͺ½μ λͺ¨λ 0μΌλ‘ μ±μ°λ ννμ λλ€.
λ§μ½ 2μ μ κ³±μμ 1μ λΊ μλ₯Ό 2μ§μλ‘ λνλ΄λ©΄
2μ 0 μ κ³± - 1 : 0 → 0
2μ 1 μ κ³± - 1 : 1 → 1
2μ 2 μ κ³± - 1 : 3 → 11
2μ 3 μ κ³± - 1 : 7 → 111
κ³Ό κ°μ΄ 0 μ κ³±μ μ μΈνκ³ λ λͺ¨λ 1λ‘ μ΄λ£¨μ΄μ§ κ²μ νμΈν μ μμ΅λλ€.
μ΄ μ¬μ€μ μ΄μ©νλ©΄ μμμ μ nμ΄ 2μ μ κ³±μμΈμ§ νλ³μ΄ κ°λ₯ν΄μ! ππ
nκ³Ό n - 1μ λΉνΈ μ°μ°μ &λ₯Ό μ΄μ©ν΄μ κ³μ°νμ λ 2μ μ κ³±μμ΄λ©΄ κ²°κ³Όκ° 0μ΄ λμ΅λλ€.
(& μ°μ°μλ λ μ λͺ¨λ 1μ΄μ΄μΌ κ²°κ΄κ°μ 1μ΄ μνκ² λκΈ° λλ¬Έμ λλ€)
μ¦, nμ΄ 2μ μ κ³±μμ΄λ©΄ μλμ κ°μ κ²°κ³Όλ₯Ό μ»μ μ μλ€λ μλ―Έμ λλ€.
μ΄λ¬ν μ¬μ€μ μ μ©νμ¬ λ€μκ³Ό κ°μ΄ λ¬Έμ λ₯Ό ν μ μμ΅λλ€.
import java.io.*;
import java.util.*;
class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine()); // λ¨ κ°μ
ArrayList<Integer> error = new ArrayList<>();
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 1; i <= n; i++){
int ram = Integer.parseInt(st.nextToken());
if ((ram & (ram - 1)) != 0) // 2μ μ κ³±μ΄ μλ κ²½μ°
error.add(i);
}
int errorLen = error.size();
if (errorLen > 0) {
System.out.println(errorLen);
for (int i = 0; i < errorLen; i++)
System.out.printf("%d ", error.get(i));
}
else
System.out.println(errorLen);
}
}
π Reference
λΈλ‘κ·Έμ μ 보
λλΆλμ Devlog
λλΆλ