๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/81301
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
๋ค์ค์ ํ๋ก๋๊ฐ ์ซ์๋์ด๋ฅผ ํ๊ณ ์์ต๋๋ค. ๋ค์ค๊ฐ ํ๋ก๋์๊ฒ ์ซ์๋ฅผ ๊ฑด๋ฌ ๋ ์ผ๋ถ ์๋ฆฟ์๋ฅผ ์๋จ์ด๋ก ๋ฐ๊พผ ์นด๋๋ฅผ ๊ฑด๋ค์ฃผ๋ฉด ํ๋ก๋๋ ์๋ ์ซ์๋ฅผ ์ฐพ๋ ๊ฒ์์
๋๋ค.
๋ค์์ ์ซ์์ ์ผ๋ถ ์๋ฆฟ์๋ฅผ ์๋จ์ด๋ก ๋ฐ๊พธ๋ ์์์ ๋๋ค.
- 1478 → "one4seveneight"
- 234567 → "23four5six7"
- 10203 → "1zerotwozero3"
์ด๋ ๊ฒ ์ซ์์ ์ผ๋ถ ์๋ฆฟ์๊ฐ ์๋จ์ด๋ก ๋ฐ๋์ด์ก๊ฑฐ๋, ํน์ ๋ฐ๋์ง ์๊ณ ๊ทธ๋๋ก์ธ ๋ฌธ์์ด s๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. s๊ฐ ์๋ฏธํ๋ ์๋ ์ซ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ฐธ๊ณ ๋ก ๊ฐ ์ซ์์ ๋์๋๋ ์๋จ์ด๋ ๋ค์ ํ์ ๊ฐ์ต๋๋ค.
์ซ์ | ์๋จ์ด |
0 | zero |
1 | one |
2 | two |
3 | three |
4 | four |
5 | five |
6 | six |
7 | seven |
8 | eight |
9 | nine |
์ ํ ์ฌํญ
- 1 ≤ s์ ๊ธธ์ด ≤ 50
- s๊ฐ "zero" ๋๋ "0"์ผ๋ก ์์ํ๋ ๊ฒฝ์ฐ๋ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
- return ๊ฐ์ด 1 ์ด์ 2,000,000,000 ์ดํ์ ์ ์๊ฐ ๋๋ ์ฌ๋ฐ๋ฅธ ์ ๋ ฅ๋ง s๋ก ์ฃผ์ด์ง๋๋ค.
์ ์ถ๋ ฅ ์
s | result |
"one4seveneight" | 1478 |
"23four5six7" | 234567 |
"2three45sixseven" | 234567 |
"123" | 123 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ๋ฌธ์ ์์์ ๊ฐ์ต๋๋ค.
์ ์ถ๋ ฅ ์ #2
- ๋ฌธ์ ์์์ ๊ฐ์ต๋๋ค.
์ ์ถ๋ ฅ ์ #3
- "three"๋ 3, "six"๋ 6, "seven"์ 7์ ๋์๋๊ธฐ ๋๋ฌธ์ ์ ๋ต์ ์ ์ถ๋ ฅ ์ #2์ ๊ฐ์ 234567์ด ๋ฉ๋๋ค.
- ์ ์ถ๋ ฅ ์ #2์ #3๊ณผ ๊ฐ์ด ๊ฐ์ ์ ๋ต์ ๊ฐ๋ฆฌํค๋ ๋ฌธ์์ด์ด ์ฌ๋ฌ ๊ฐ์ง๊ฐ ๋์ฌ ์ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์ #4
- s์๋ ์๋จ์ด๋ก ๋ฐ๋ ๋ถ๋ถ์ด ์์ต๋๋ค.
๋ด๊ฐ ์์ฑํ ์ฝ๋
import java.util.*;
class Solution {
public int solution(String s) {
int answer = 0;
Map<String, String> map = new HashMap<>();
map.put("zero", "0");
map.put("one", "1");
map.put("two", "2");
map.put("three", "3");
map.put("four", "4");
map.put("five", "5");
map.put("six", "6");
map.put("seven", "7");
map.put("eight", "8");
map.put("nine", "9");
for (String key : map.keySet()) {
s = s.replaceAll(key, map.get(key));
}
answer = Integer.parseInt(s);
return answer;
}
}
์ฝ๋ ์ค๋ช
- int answer = 0 : ์ซ์ ๋จ์ด๋ฅผ ๋ณํํ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ ๋ณ์ answer๋ฅผ ์์ฑํ๊ณ 0์ผ๋ก ์ด๊ธฐํํ๋ค.
- Map<String, String> map = new HashMap<>( ) : ์ซ์ ๋จ์ด์ ์ซ์ ๊ฐ์ ๋งคํํ๊ธฐ ์ํด HashMap์ ์์ฑํ๋ค.
- ์ดํ map.put( ) ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ์ซ์ ๋จ์ด์ ์ค์ ์ซ์๋ฅผ ๋งคํํ๋ค.
- for (String key : map.keySet( )) { } : map์ ๋ชจ๋ ํค๋ฅผ ์ํํ๋ค.
- s = s.replaceAll(key, map.get(key)) : ๋ฌธ์์ด s์์ ์ซ์ ๋จ์ด๋ฅผ ๋์ํ๋ ์ซ์๋ก ๋ณํํ๋ค.
- answer = Integer.parseInt(s) : ๋ชจ๋ ์ซ์ ๋จ์ด๋ก ๋ณํ๋ ๋ฌธ์์ด s๋ฅผ ์ ์ ํํ๋ก ๋ณํํ์ฌ answer์ ์ ์ฅํ๋ค.
replaceAll(String regex, String replacement)
- regex : ๋ฐ๊พธ๊ณ ์ถ์ ํจํด, ์ผ๋ฐ ๋ฌธ์์ด๋ ์ฌ์ฉ ๊ฐ๋ฅ.
- replacement : ๋ฐ๊ฟ ๋ฌธ์์ด
'๐งฉ ํ๋ก๊ทธ๋๋จธ์ค > ๐ต ์๊ณ ๋ฆฌ์ฆ ํ์ด(Java)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค_K๋ฒ์งธ์ (1) | 2024.12.04 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค_๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ (0) | 2024.12.03 |
ํ๋ก๊ทธ๋๋จธ์ค_์ต์์ง์ฌ๊ฐํ (0) | 2024.11.30 |
ํ๋ก๊ทธ๋๋จธ์ค_ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ ๋ฌธ์์ด (0) | 2024.11.29 |
ํ๋ก๊ทธ๋๋จธ์ค_์ผ์ด์ฌ (0) | 2024.11.27 |