Skip to content

Commit 463a0d1

Browse files
committed
이어 붙인 수
1 parent ee58e68 commit 463a0d1

File tree

2 files changed

+72
-0
lines changed

2 files changed

+72
-0
lines changed

Lv0/concatNum.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# 이어 붙인 수
2+
3+
## 📌 문제 설명
4+
5+
정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요.
6+
7+
### 제한 조건
8+
9+
- 2 ≤ num_list의 길이 ≤ 10
10+
- 1 ≤ num_list의 원소 ≤ 9
11+
- num_list에는 적어도 한 개씩의 짝수와 홀수가 있습니다.
12+
13+
### 입출력 예
14+
15+
| num_list | result |
16+
| --------------- | ------ |
17+
| [3, 4, 5, 2, 1] | 393 |
18+
| [5, 7, 8, 3] | 581 |
19+
20+
# 🧐 접근
21+
22+
`StringBuilder`사용
23+
24+
```java
25+
class Solution {
26+
public int solution(int[] num_list) {
27+
StringBuilder even = new StringBuilder();
28+
StringBuilder odd = new StringBuilder();
29+
for(int num : num_list) {
30+
if(num % 2 == 0) even.append(num);
31+
else odd.append(num);
32+
}
33+
return Integer.parseInt(even.toString()) + Integer.parseInt(odd.toString());
34+
}
35+
}
36+
```
37+
38+
# 💡 풀이
39+
40+
`StringBuilder`를 사용해서 각 조건에 맞게 나누어 StringBuilder에 정수를 문자열처럼 이어붙여주고,
41+
각각의 StringBuilder객체를 정수형으로 형번환해서 연산.
42+
43+
# 📘 그 외의 풀이
44+
45+
### 1. 10곱하기
46+
47+
> 💡 10을 곱해줌으로써 한자리씩 이어붙여줄 수 있다. 형변환도 필요없으므로 내가 풀이한 방식보다 더 효율적이다.
48+
49+
```java
50+
class Solution {
51+
public int solution(int[] num_list) {
52+
int answer = 0;
53+
54+
int even = 0;
55+
int odd = 0;
56+
57+
for(int num : num_list) {
58+
if(num % 2 == 0) {
59+
even *= 10;
60+
even += num;
61+
} else {
62+
odd *= 10;
63+
odd += num;
64+
}
65+
}
66+
answer = even + odd;
67+
68+
return answer;
69+
}
70+
}
71+
```

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
- [57. 문자열 붙여서 출력하기](./Lv0/appendString.md)
6363
- [58. 문자열 곱하기](./Lv0/multipleOfString.md)
6464
- [59. 홀짝 구분하기](./Lv0/separateEvenOdd.md)
65+
- [60. 이어 붙인 수](./Lv0/concatNum.md)
6566

6667
# 📘 Lv.1
6768

0 commit comments

Comments
 (0)