Coding Planet
12. μνΈ - replace, Inteager.parseInt(μ§μ λ³κ²½νκΈ°) λ³Έλ¬Έ
12. μνΈ - replace, Inteager.parseInt(μ§μ λ³κ²½νκΈ°)
jhj.sharon 2023. 7. 7. 21:411. λ¬Έμ μꡬμ¬ν
νμλ μν¬μκ² μνλ²³ λλ¬Έμλ‘ κ΅¬μ±λ λΉλ°νΈμ§λ₯Ό λ§€μΌ μ»΄ν¨ν°λ₯Ό μ΄μ©ν΄ 보λ λλ€.
λΉλ°νΈμ§λ νμμ μν¬κ° μλ‘ μ½μν μνΈλ‘ ꡬμ±λμ΄ μμ΅λλ€.
λΉλ°νΈμ§λ μνλ²³ ν λ¬Έμλ§λ€ # λλ *μ΄ μΌκ³± κ°λ‘ ꡬμ±λμ΄ μμ΅λλ€.
λ§μ½ νμκ° “#*****#”μΌλ‘ ꡬμ±λ λ¬Έμλ₯Ό 보λλ€λ©΄ μν¬λ νμμ μ½μν κ·μΉλλ‘ λ€μκ³Ό κ°μ΄ ν΄μν©λλ€.
1. “#*****#”λ₯Ό μΌκ³±μ리μ μ΄μ§μλ‘ λ°κΏλλ€. #μ μ΄μ§μμ 1λ‘, *μ΄μ§μμ 0μΌλ‘ λ³νν©λλ€. κ²°κ³Όλ “1000001”λ‘ λ³νλ©λλ€.
2. λ°λ 2μ§μλ₯Ό 10μ§μν ν©λλ€. “1000001”μ 10μ§μν νλ©΄ 65κ° λ©λλ€.
3. μμ€ν€ λ²νΈκ° 65λ¬Έμλ‘ λ³νν©λλ€. μ¦ μμ€ν¬λ²νΈ 65λ λλ¬Έμ 'A'μ λλ€.
μ°Έκ³ λ‘ λλ¬Έμλ€μ μμ€ν€ λ²νΈλ 'A'λ 65λ², ‘B'λ 66λ², ’C'λ 67λ² λ± μ°¨λ‘λλ‘ 1μ© μ¦κ°νμ¬ ‘Z'λ 90λ²μ λλ€.
νμκ° 4κ°μ λ¬Έμλ₯Ό λ€μκ³Ό κ°μ΄ μ νΈλ‘ 보λλ€λ©΄
#****###**#####**#####**##**
μ΄ μ νΈλ₯Ό 4κ°μ λ¬Έμμ νΈλ‘ ꡬλΆνλ©΄
#****## --> 'C'
#**#### --> 'O'
#**#### --> 'O'
#**##** --> 'L'
μ΅μ’ μ μΌλ‘ “COOL"λ‘ ν΄μλ©λλ€.
νμκ° λ³΄λΈ μ νΈλ₯Ό ν΄μν΄μ£Όλ νλ‘κ·Έλ¨μ μμ±ν΄μ μν¬λ₯Ό λμμ£ΌμΈμ.
μ λ ₯:
첫 μ€μλ λ³΄λΈ λ¬Έμμ κ°μ(10μ λμ§ μμ΅λλ€)κ° μ λ ₯λλ€. λ€μ μ€μλ λ¬Έμμ κ°μμ μΌκ³± λ°° λ§νΌμ #λλ * μ νΈκ° μ λ ₯λ©λλ€.
νμλ νμ λλ¬Έμλ‘ ν΄μν μ μλ μ νΈλ₯Ό 보λΈλ€κ³ κ°μ ν©λλ€.
2. λ΄ νμ΄
1) μ
λ ₯ λ°κΈ°:
- `n`μλ λ³΄λΈ λ¬Έμμ κ°μλ₯Ό μ
λ ₯λ°μ΅λλ€.
- `signal`μλ λ¬Έμμ κ°μμ μΌκ³± λ°° λ§νΌμ `#` λλ `*` μ νΈλ₯Ό μ
λ ₯λ°μ΅λλ€.
2) μ νΈ ν΄μ:
- `StringBuilder` κ°μ²΄ `result`λ₯Ό μμ±νμ¬ ν΄μλ λ¬Έμμ΄μ μ μ₯ν μ€λΉλ₯Ό ν©λλ€.
- `for` λ°λ³΅λ¬Έμ μ¬μ©νμ¬ λ¬Έμμ κ°μλ§νΌ λ°λ³΅ν©λλ€.
- κ° λ¬Έμμ΄ μ νΈλ₯Ό `substring` λ©μλλ₯Ό μ΄μ©νμ¬ 7κΈμμ© λΆλ¦¬ν©λλ€.
- `letterSignal`μλ λΆλ¦¬λ 7κΈμμ λ¬Έμμ΄ μ νΈκ° μ μ₯λ©λλ€.
- `letterSignal` λ¬Έμμ΄μμ `replace` λ©μλλ₯Ό μ¬μ©νμ¬ `#`μ `1`λ‘, `*`μ `0`μΌλ‘ λ°κΏλλ€.
- `Integer.parseInt` λ©μλλ₯Ό μ¬μ©νμ¬ 2μ§μλ‘ λ³νλ λ¬Έμμ΄μ 10μ§μλ‘ λ³νν©λλ€.
- `decimal`μλ 10μ§μλ‘ λ³νλ κ°μ΄ μ μ₯λ©λλ€.
- `decimal` κ°μ `char` νμ
μΌλ‘ λ³ννμ¬ λμνλ μμ€ν€ λ¬Έμλ₯Ό μ»μ΅λλ€.
- `letter`μλ μμ€ν€ λ¬Έμκ° μ μ₯λ©λλ€.
- `result`μ `letter`λ₯Ό μΆκ°ν©λλ€.
package chapter1;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
scanner.nextLine();
String signal = scanner.nextLine();
StringBuilder result = new StringBuilder();
for (int i = 0; i < n; i++) {
String letterSignal = signal.substring(i * 7, (i + 1) * 7);
int decimal = Integer.parseInt(letterSignal.replace("#", "1").replace("*", "0"), 2);
char letter = (char) decimal;
result.append(letter);
}
System.out.println(result.toString());
}
}
'π μ½λ©ν μ€νΈ > μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ²λΈμ λ ¬ - μλ°λ‘ ꡬννκΈ° (0) | 2023.08.21 |
---|---|
μκ°λ³΅μ‘λ(Time Complexity)μ 곡κ°λ³΅μ‘λ(Space Complexity) (0) | 2023.08.21 |
9. μ«μλ§ μΆμΆ - Character.isDigit(), ASCII Code μ¬μ©νκΈ° (0) | 2023.05.08 |
8. μ ν¨ν ν°λ¦°λ둬 (Palindrome) - replaceAll (0) | 2023.05.08 |
7. νλ¬Έ λ¬Έμμ΄(Palindrome) - charAt(), StringBuilder().reverse().toString(), equals() (0) | 2023.05.08 |