728x90
[๋ฌธ์ ๋งํฌ] ๐ https://www.acmicpc.net/problem/1284
์ค๋ช
- ๊ฐ ์ซ์ ์ฌ์ด์๋ 1cm์ ์ฌ๋ฐฑ์ด ๋ค์ด๊ฐ์ผํ๋ค.
- 1์ 2cm์ ๋๋น๋ฅผ ์ฐจ์งํด์ผํ๋ค. 0์ 4cm์ ๋๋น๋ฅผ ์ฐจ์งํด์ผํ๋ค. ๋๋จธ์ง ์ซ์๋ ๋ชจ๋ 3cm์ ๋๋น๋ฅผ ์ฐจ์งํ๋ค.
- ํธ์ํ์ ๊ฒฝ๊ณ์ ์ซ์ ์ฌ์ด์๋ 1cm์ ์ฌ๋ฐฑ์ด ๋ค์ด๊ฐ์ผํ๋ค.
์ฌ๋ฐฑ์ ํฌํจํ ํธ์ํ์ ์ด ๋๋น๋ฅผ ๊ตฌํด์ผ ํ๋ค.
ํ์ด
- ๋ฌธ์์ด๋ก ์ซ์๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค.
- split() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๋ฌธ์์ด์ ๋ถ๋ฆฌํ์ฌ ๋ฐฐ์ด์ ์ ์ฅํ๋ค.
- ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋ฐฐ์ด์์ ํ๋์ฉ ๊บผ๋ธ๋ค.
- ๊ฐ ๋ฌธ์๋ฅผ ์ ์ํ์ผ๋ก ๋ณํํ๊ณ ๊ฐ ์กฐ๊ฑด์ ๋ง๊ฒ ๊ณ์ฐํ๋ค
- ๊ณต๋ฐฑ์ ํฌํจ์์ผ์ผ ํ๋ฏ๋ก ์ซ์ ๋๋น์ ๊ฐ 1์ฉ ๋ํด์ผ ํ๋ค.
split() ๋ฉ์๋
String[] nums = num.split("");
๋ถ๋ฆฌํ ๊ฒ์ ๋ฐฐ์ด์ ์ ์ฅํด์ผ ํ๋ค. ์ธ์๋ก ๋ฌด์จ ๊ธฐ์ค์ผ๋ก ๋ถ๋ฆฌํ ๊ฒ์ธ์ง๋ฅผ ๋๊ธด๋ค.
Integer.parseInt()
int intNum = Integer.parseInt(s);
๋ฌธ์์ด์ ์ ์ํ์ผ๋ก ๋ณํํ๋ ๋ฉ์๋์ด๋ค. ์ธ์๋ก ๋ณํํ ๋ฌธ์๋ ๋ฌธ์์ด์ ๋๊ฒจ์ฃผ๋ฉด ๋๋ค.
Solution
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//0์ ์
๋ ฅํ ๋๊น์ง ๋ฐ๋ณต
while (true) {
String num = br.readLine();
if (num.equals("0")) {
break;
}
int width = 1; //์ฒซ ๋ฒ์งธ ์ฌ๋ฐฑ 1
//์ซ์ ๋ถ๋ฆฌํ๊ธฐ
String[] nums = num.split("");
for (String s : nums) { //๋ค์ ์ฌ๋ฐฑ ํฌํจํด์ + 1์ฉ ๋ํ๊ธฐ
int intNum = Integer.parseInt(s);
if (intNum == 1) {
width += 3;
} else if (intNum == 0) {
width += 5;
} else {
width += 4;
}
}
System.out.println(width);
}
}
}
๐ฉ๐ป ํ๊ณ
๋ถ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ split ๋ง๊ณ ๋ ๋ง๋ค.
์ ์ฝ๋์์๋ ์ ์ํ์ผ๋ก ๋ณํํ ํ์ ์กฐ๊ฑด์ ๋ฐ์ก๋๋ฐ, ์ ์ํ์ผ๋ก ๋ณํํ์ง ์๊ณ ๊ทธ๋๋ก ๋ฌธ์๋ก ์กฐ๊ฑด์ ํ์ธํ๋ ๋ฐฉ๋ฒ๋ ์๋ค.
728x90
'๐งฉ Algorithm > [BOJ] Bronze' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| BOJ 10810 : ๊ณต ๋ฃ๊ธฐ (Java/๊ตฌํ/Bronze 3) (2) | 2024.10.12 |
|---|---|
| BOJ 1598 : ๊ผฌ๋ฆฌ๋ฅผ ๋ฌด๋ ์ซ์ ๋์ด (Java/์ํ/Bronze 3) (0) | 2024.10.12 |
| BOJ 1267 : ํธ๋ํฐ ์๊ธ (Java/๊ตฌํ/Bronze 3) (2) | 2024.10.12 |
| BOJ 9295 : ์ฃผ์ฌ์ (Java/๊ตฌํ/Bronze 4) (0) | 2024.10.10 |
| BOJ 5596 : ์ํ๋ฌธ์ (Java/๊ตฌํ/Bronze 4) (0) | 2024.10.10 |